boost::converted_converter
// In header: <boost/iterator/convert_iterator.hpp> template<typename P1, typename P2> struct converted_converter { // types typedef P1::input_type input_type; typedef P2::output_type output_type; // construct/copy/destruct converted_converter(); converted_converter(P1, P2 = P2()); // public member functions BOOST_CONCEPT_ASSERT((ConverterConcept< P1 >)); BOOST_CONCEPT_ASSERT((ConverterConcept< P2 >)); BOOST_CONCEPT_ASSERT((Convertible< typename P1::output_type, typename P2::input_type >)); BOOST_MPL_ASSERT((mpl::equal_to< typename P1::max_output, mpl::int_< 1 > >)); template<typename In, typename Out> Out ltr(In &, In, Out); template<typename In, typename Out> Out rtl(In, In &, Out); };
Model of Converter
that adapts the elements another Converter
sees with a model of Converter
, assuming its max_output
is 1
.
converted_converter
public member functionsBOOST_CONCEPT_ASSERT((ConverterConcept< P1 >));
BOOST_CONCEPT_ASSERT((ConverterConcept< P2 >));
BOOST_CONCEPT_ASSERT((Convertible< typename P1::output_type, typename P2::input_type >));
BOOST_MPL_ASSERT((mpl::equal_to< typename P1::max_output, mpl::int_< 1 > >));
template<typename In, typename Out> Out ltr(In & begin, In end, Out out);
template<typename In, typename Out> Out rtl(In begin, In & end, Out out);