C++ Template Metaprogramming
Solutions to the exercises throughout the book
Loading...
Searching...
No Matches

Provide bi-directional iterators to Exercise 5-6. More...

Files

file  exercise-5-7.hpp
 Solution to Exercise 5-7.
 

Namespaces

namespace  exercise_5_7
 Encapsulate solution for Exercise 5-7.
 

Classes

struct  boost::mpl::begin_impl< exercise_5_7::dimensions_b_tag >
 Wrap an iterator around the front of the sequence. More...
 
struct  boost::mpl::end_impl< exercise_5_7::dimensions_b_tag >
 Wrap an iterator around boost::mpl::void_. More...
 
struct  boost::mpl::pop_back_impl< exercise_5_7::dimensions_b_tag >
 Popping from the back just means drop one array dimension. More...
 
struct  boost::mpl::push_back_impl< exercise_5_7::dimensions_b_tag >
 Just convert the input to an integer, and add to the array dimension. More...
 
struct  boost::mpl::deref< exercise_5_7::dimensions_b_iterator< S > >
 The sequence IS its identity, really. More...
 
struct  boost::mpl::next< exercise_5_7::dimensions_b_iterator< S > >
 Next is defined by the sequence. More...
 
struct  boost::mpl::prior< exercise_5_7::dimensions_b_iterator< S > >
 Prev is defined by the sequence. More...
 

Functions

static void anonymous_namespace{chapter-5.cpp}::test_exercise_5_7 ()
 Tests for Exercise 5-7.
 

Detailed Description

Provide bi-directional iterators to Exercise 5-6.

5-7. Modify the dimensions sequence adapter from exercise 5-6 to provide
     bidirectional iterators and push_back and pop_back operations.
Todo:
dimensions_b is an artifact of sharing a namespace with dimensions.

Function Documentation

◆ test_exercise_5_7()

static void anonymous_namespace{chapter-5.cpp}::test_exercise_5_7 ( )
static

Tests for Exercise 5-7.

Definition at line 303 of file chapter-5.cpp.