11 using namespace operators;
15 Test iteratorRange() {
33 std::copy( r.
begin(), r.
end(), back_inserter( b ) );
37 Test copyToConsumer() {
39 std::vector< int > vec;
48 assert( r1.begin() + 2 == r1.end() );
49 while ( !r.
empty() ) {
57 Test _filteredRange() {
67 std::bind1st( std::equal_to< int >(), 10 ) );
85 assert( v.begin() + 3 == v.end() );
89 std::vector< int > vec;
101 Test _transformedRange() {
103 std::vector< int > xv;
108 std::bind1st( std::plus< int >(), 2 ) );
116 Test _transformedRange2() {
118 std::vector< unsigned > xv;
123 range( xv ), std::bind1st( std::plus< int >(), 2 ) );
131 Test tailOfIteratorRange() {
133 a.insert( a.begin(), 30 );
134 a.insert( a.begin(), 10 );
135 a.insert( a.begin(), 20 );
149 a.insert( a.begin(), 30 );
150 a.insert( a.begin(), 10 );
151 a.insert( a.begin(), 20 );
153 range( a.begin(), a.end() ) );
163 static void removeFirst(
int &i ) {
167 static bool isEnd(
const int &i ) {
171 Test _generatedRange() {
TransformedRange< Trans > transformedRange(Range< typename Trans::argument_type > r, Trans t)
Definition: range.h:451
void consume(const T &a)
Definition: consumer.h:78
Range< typename In::value_type > range(In b, In e)
Definition: range.h:264
FilteredRange< R, Pred > filteredRange(R r, Pred p)
Definition: range.h:377
iterator end() const
Definition: range.h:71
void Test
Definition: test.h:178
Consumer< typename Out::container_type::value_type > consumer(Out out)
Definition: consumer.h:108
#define assert_eq(x, y)
Definition: test.h:33
#define assert(x)
Definition: test.h:30
void output(Consumer< T > t) const
Definition: range.h:78
iterator begin() const
Definition: range.h:70
void removeFirst()
Definition: range.h:164
T head() const
Definition: range.h:163
bool empty() const
Definition: range.h:82
Definition: consumer.h:17
Sorted< List > sort(List l)
Definition: list.h:387
Range< T > tail() const
Definition: range.h:75
GeneratedRange< T, A, E > generatedRange(T t, A a, E e)
Definition: range.h:494