C++ Template Metaprogramming
Solutions to the exercises throughout the book
|
Solution to Exercise 7-7. More...
#include <boost/static_assert.hpp>
#include <boost/mpl/begin_end.hpp>
#include <boost/mpl/deref.hpp>
#include <boost/mpl/iterator_category.hpp>
#include <boost/mpl/iterator_tags.hpp>
#include <boost/mpl/next_prior.hpp>
#include <boost/mpl/or.hpp>
#include <boost/type_traits/is_same.hpp>
Go to the source code of this file.
Classes | |
struct | exercise_7_7::reverse_iterator< ForwardIt > |
Wraps any iterator with the intent of reversing the direction of next and prior. More... | |
struct | exercise_7_7::is_valid_reverse_category< Iterator > |
Determines if the source iterator is suitable for reversal. More... | |
struct | boost::mpl::rend< Sequence > |
Acquire a reverse_iterator at the end of a sequence. More... | |
struct | boost::mpl::rbegin< Sequence > |
Grab a reverse_iterator from the a sequence directly. More... | |
struct | boost::mpl::deref< exercise_7_7::reverse_iterator< ForwardIt > > |
Undo double-indirection of the reverse_iterator. More... | |
struct | boost::mpl::next< exercise_7_7::reverse_iterator< ForwardIt > > |
Turn next into prior. More... | |
struct | boost::mpl::prior< exercise_7_7::reverse_iterator< ForwardIt > > |
Turn prior into next. More... | |
Namespaces | |
namespace | exercise_7_7 |
Encapsulate solution for Exercise 7-7. | |
namespace | boost |
Exists to inject functionality into the Boost namespace. | |
namespace | boost::mpl |
Exists to inject functionality into the Boost MPL namespace. | |
Solution to Exercise 7-7.
Definition in file exercise-7-7.hpp.