diff --git a/iter_traits_gen_test.cpp b/iter_traits_gen_test.cpp new file mode 100644 index 0000000..f031ae0 --- /dev/null +++ b/iter_traits_gen_test.cpp @@ -0,0 +1,52 @@ +// (C) Copyright Jeremy Siek 2000. Permission to copy, use, modify, +// sell and distribute this software is granted provided this +// copyright notice appears in all copies. This software is provided +// "as is" without express or implied warranty, and with no claim as +// to its suitability for any purpose. + +// 8 Mar 2001 Jeremy Siek +// Initial checkin. + +#include +#include + +int +main() +{ + using boost::dummyT; + dummyT array[] = { dummyT(0), dummyT(1), dummyT(2), + dummyT(3), dummyT(4), dummyT(5) }; + const int N = sizeof(array)/sizeof(dummyT); + typedef boost::iterator_adaptor my_iter; + my_iter mi(array); + + { + typedef boost::iterator_adaptor + ::iterator_category > iter_type; + + iter_type i(mi); + boost::input_iterator_test(i, dummyT(0), dummyT(1)); + } + { + typedef boost::iterator_adaptor + ::reference + ::pointer + ::iterator_category + ::difference_type > adaptor_type; + + adaptor_type i(mi); + + boost::input_iterator_test(i, dummyT(0), dummyT(1)); + int zero = 0; + if (zero) // don't do this, just make sure it compiles + assert((*i).m_x == i->foo()); + } + + return 0; +}