*** empty log message ***

[SVN r27192]
This commit is contained in:
Thorsten Jørgen Ottosen
2005-02-06 22:22:45 +00:00
parent 92c5ce8ffa
commit 1451d487e1
3 changed files with 11 additions and 112 deletions

View File

@ -15,9 +15,19 @@
# pragma once # pragma once
#endif #endif
#if _MSC_VER == 1300 // experiment
#include <boost/range/detail/collection_traits.hpp>
#include <boost/range/iterator_range.hpp>
#include <boost/range/sub_range.hpp>
#else
#include <boost/range/functions.hpp> #include <boost/range/functions.hpp>
#include <boost/range/metafunctions.hpp> #include <boost/range/metafunctions.hpp>
#include <boost/range/iterator_range.hpp> #include <boost/range/iterator_range.hpp>
#include <boost/range/sub_range.hpp> #include <boost/range/sub_range.hpp>
#endif // _MSC_VER == 1300 // experiment
#endif #endif

110
test/TODO
View File

@ -1,111 +1 @@
17. post-review question: should Range mean lowest common denominator? or
perhaps Forward Range? problem with not being explicit.
18. maybe iterator_range operator==() should be defined when rhs or lhs
take a forward range argument; this comparison function should
then call std::lexigraphical_compare(....). Example:
sub_range<string> sub = ...;
if( sub == "foo" )
/*
namespace range_detail
{
template< class Range >
inline iterator_range< BOOST_DEDUCED_TYPENAME range_result_iterator<Range>::type >
make_sub_range_impl( Range& r,
BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end )
{
BOOST_ASSERT( advance_begin >= 0 );
BOOST_ASSERT( advance_end >= 0 );
BOOST_DEDUCED_TYPENAME range_result_iterator<Range>::type
new_begin = begin( r ),
new_end = end( r );
std::advance( new_begin, advance_begin );
std::advance( new_end, -advance_end );
return make_iterator_range( new_begin, new_end );
}
template< class Range >
inline iterator_range< BOOST_DEDUCED_TYPENAME range_result_iterator<Range>::type >
make_super_range_impl( Range& r,
BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end )
{
BOOST_ASSERT( advance_begin >= 0 );
BOOST_ASSERT( advance_end >= 0 );
BOOST_DEDUCED_TYPENAME range_result_iterator<Range>::type
new_begin = begin( r ),
new_end = end( r );
std::advance( new_begin, -advance_begin );
std::advance( new_end, advance_end );
return make_iterator_range( new_begin, new_end );
}
}*/
/*
template< class Range >
inline iterator_range< BOOST_DEDUCED_TYPENAME range_result_iterator<Range>::type >
make_sub_range( Range& r,
BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end = 0 )
{
return range_detail::make_sub_range_impl( r, advance_begin, advance_end );
}
template< class Range >
inline iterator_range< BOOST_DEDUCED_TYPENAME range_result_iterator<Range>::type >
make_super_range( Range& r,
BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end = 0 )
{
return range_detail::make_super_range_impl( r, advance_begin, advance_end );
}*/
/*
template< class Range >
inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
make_sub_range( Range& r,
BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end = 0 )
{
return range_detail::make_sub_range_impl( r, advance_begin, advance_end );
}
template< class Range >
inline iterator_range< BOOST_DEDUCED_TYPENAME range_const_iterator<Range>::type >
make_sub_range( const Range& r,
BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end = 0 )
{
return range_detail::make_sub_range_impl( r, advance_begin, advance_end );
}
template< class Range >
inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
make_super_range( Range& r,
BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end = 0 )
{
return range_detail::make_super_range_impl( r, advance_begin, advance_end );
}
template< class Range >
inline iterator_range< BOOST_DEDUCED_TYPENAME range_const_iterator<Range>::type >
make_super_range( const Range& r,
BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end = 0 )
{
return range_detail::make_super_range_impl( r, advance_begin, advance_end );
}*/

View File

@ -17,8 +17,7 @@
# pragma warn -8057 // unused argument argc/argv in Boost.Test # pragma warn -8057 // unused argument argc/argv in Boost.Test
#endif #endif
#include <boost/range/functions.hpp> #include <boost/range.hpp>
#include <boost/range/metafunctions.hpp>
#include <boost/static_assert.hpp> #include <boost/static_assert.hpp>
#include <boost/type_traits.hpp> #include <boost/type_traits.hpp>
#include <boost/test/test_tools.hpp> #include <boost/test/test_tools.hpp>