12b57e84e6
For each link given as http://, verify that the site is accessible over https:// and, if so, switch to it. These domains were converted: * llvm.org * clang.llvm.org * en.cppreference.com * www.dxx-rebirth.com * www.libsdl.org * www.scons.org
30 lines
862 B
C++
30 lines
862 B
C++
/*
|
|
* This file is part of the DXX-Rebirth project <https://www.dxx-rebirth.com/>.
|
|
* It is copyright by its individual contributors, as recorded in the
|
|
* project's Git history. See COPYING.txt at the top level for license
|
|
* terms and a link to the Git history.
|
|
*/
|
|
#pragma once
|
|
|
|
template <typename T, typename iterator>
|
|
struct reverse_traversal_t
|
|
{
|
|
typedef typename T::const_reverse_iterator const_iterator;
|
|
T *container;
|
|
reverse_traversal_t(T *c) : container(c) {}
|
|
iterator begin() const { return container->rbegin(); }
|
|
iterator end() const { return container->rend(); }
|
|
};
|
|
|
|
template <typename T>
|
|
static inline reverse_traversal_t<T, typename T::reverse_iterator> reverse_traversal(T &c)
|
|
{
|
|
return &c;
|
|
}
|
|
|
|
template <typename T>
|
|
static inline reverse_traversal_t<const T, typename T::const_reverse_iterator> reverse_traversal(const T &c)
|
|
{
|
|
return &c;
|
|
}
|