123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #pragma once
- #include <iterator>
- #include <type_traits>
- namespace WwiseGTE
- {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- template <typename Iterator>
- class ReversalObject
- {
- public:
- ReversalObject(Iterator begin, Iterator end)
- :
- mBegin(begin),
- mEnd(end)
- {
- }
- Iterator begin() const { return mBegin; }
- Iterator end() const { return mEnd; }
- private:
- Iterator mBegin, mEnd;
- };
- template
- <
- typename Iterable,
- typename Iterator = decltype(std::begin(std::declval<Iterable>())),
- typename ReverseIterator = std::reverse_iterator<Iterator>
- >
- ReversalObject<ReverseIterator> reverse(Iterable && range)
- {
- return ReversalObject<ReverseIterator>(
- ReverseIterator(std::end(range)),
- ReverseIterator(std::begin(range)));
- }
- }
|