/////////////////////////////////////////////////////////////////////////////// // utility.hpp header file // // Copyright 2005 Eric Niebler. // Distributed under the Boost Software License, Version 1.0. (See // accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) // #ifndef BOOST_FOREACH_TEST_UTILITY_HPP #define BOOST_FOREACH_TEST_UTILITY_HPP #include #include /////////////////////////////////////////////////////////////////////////////// // sequence_equal_byval_n inline bool sequence_equal_byval_n( foreach_container_type & rng, char const * result ) { BOOST_FOREACH( foreach_value_type i, rng ) { if(0 == *result || i != *result) return false; ++result; } return 0 == *result; } /////////////////////////////////////////////////////////////////////////////// // sequence_equal_byval_c inline bool sequence_equal_byval_c( foreach_const_container_type & rng, char const * result ) { BOOST_FOREACH( foreach_value_type i, rng ) { if(0 == *result || i != *result) return false; ++result; } return 0 == *result; } /////////////////////////////////////////////////////////////////////////////// // sequence_equal_byref_n inline bool sequence_equal_byref_n( foreach_container_type & rng, char const * result ) { BOOST_FOREACH( foreach_reference_type i, rng ) { if(0 == *result || i != *result) return false; ++result; } return 0 == *result; } /////////////////////////////////////////////////////////////////////////////// // sequence_equal_byref_c inline bool sequence_equal_byref_c( foreach_const_container_type & rng, char const * result ) { BOOST_FOREACH( foreach_const_reference_type i, rng ) { if(0 == *result || i != *result) return false; ++result; } return 0 == *result; } /////////////////////////////////////////////////////////////////////////////// // mutate_foreach_byref // inline void mutate_foreach_byref( foreach_container_type & rng ) { BOOST_FOREACH( foreach_reference_type i, rng ) { ++i; } } /////////////////////////////////////////////////////////////////////////////// // sequence_equal_byval_n_r inline bool sequence_equal_byval_n_r( foreach_container_type & rng, char const * result ) { BOOST_REVERSE_FOREACH( foreach_value_type i, rng ) { if(0 == *result || i != *result) return false; ++result; } return 0 == *result; } /////////////////////////////////////////////////////////////////////////////// // sequence_equal_byval_c_r inline bool sequence_equal_byval_c_r( foreach_const_container_type & rng, char const * result ) { BOOST_REVERSE_FOREACH( foreach_value_type i, rng ) { if(0 == *result || i != *result) return false; ++result; } return 0 == *result; } /////////////////////////////////////////////////////////////////////////////// // sequence_equal_byref_n_r inline bool sequence_equal_byref_n_r( foreach_container_type & rng, char const * result ) { BOOST_REVERSE_FOREACH( foreach_reference_type i, rng ) { if(0 == *result || i != *result) return false; ++result; } return 0 == *result; } /////////////////////////////////////////////////////////////////////////////// // sequence_equal_byref_c_r inline bool sequence_equal_byref_c_r( foreach_const_container_type & rng, char const * result ) { BOOST_REVERSE_FOREACH( foreach_const_reference_type i, rng ) { if(0 == *result || i != *result) return false; ++result; } return 0 == *result; } /////////////////////////////////////////////////////////////////////////////// // mutate_foreach_byref // inline void mutate_foreach_byref_r( foreach_container_type & rng ) { BOOST_REVERSE_FOREACH( foreach_reference_type i, rng ) { ++i; } } #endif