diff --git a/test/iterators.cpp b/test/iterators.cpp index 92885bf..eda85b5 100644 --- a/test/iterators.cpp +++ b/test/iterators.cpp @@ -18,6 +18,8 @@ #define MULTIARRAY_TEST_ASSIGN #include "generative_tests.hpp" #include "boost/concept_check.hpp" // for ignore_unused_variable_warning +#include "boost/mpl/if.hpp" +#include "boost/type_traits/is_same.hpp" // iterator-test-specific code @@ -68,6 +70,8 @@ struct ittraits_mutable { // choose ittraits begins // +#if 0 + struct choose_ittraits_const { template struct bind { @@ -101,6 +105,19 @@ public: typedef typename Choice::template bind::type type; }; +#else + +// Meta-program chooses ittraits implementation. +template +struct ittraits_generator : + boost::mpl::if_< boost::is_same, + ittraits_const, + ittraits_mutable > +{}; + + +#endif // 0 + // // choose ittraits ends /////////////////////////////////////////////////////////////////////////