|
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.