From 46e174935b122c0da4b51532a7f683a512eeaf65 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Sun, 15 Feb 2015 14:07:50 +0100 Subject: Moved class-based implementations into `detail` namespace * while class templates enable e.g. hiding implementation details they also require evaluation via `Eval` ** this clutters up the actual logic and is now hidden behind aliae that perform the evaluation --- test.cc | 355 ++++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 178 insertions(+), 177 deletions(-) (limited to 'test.cc') diff --git a/test.cc b/test.cc index 39d5349..efe48f3 100644 --- a/test.cc +++ b/test.cc @@ -9,6 +9,7 @@ #include "list/operation/contains.h" #include "list/operation/higher/map.h" #include "list/operation/higher/filter.h" +#include "list/operation/higher/remove.h" #include "list/operation/higher/partition.h" #include "list/operation/higher/query.h" #include "list/operation/higher/find.h" @@ -64,7 +65,7 @@ static_assert( static_assert( std::is_same< tav::Int<3>, - tav::Add, tav::Int<2>>::type + tav::Add, tav::Int<2>> >::value, "(+ 1 2) != 3" ); @@ -72,7 +73,7 @@ static_assert( static_assert( std::is_same< tav::Int<4>, - tav::Substract, tav::Int<6>>::type + tav::Substract, tav::Int<6>> >::value, "(- 10 6) != 4" ); @@ -80,7 +81,7 @@ static_assert( static_assert( std::is_same< tav::Int<42>, - tav::Multiply, tav::Int<21>>::type + tav::Multiply, tav::Int<21>> >::value, "(* 2 21) != 42" ); @@ -88,7 +89,7 @@ static_assert( static_assert( std::is_same< tav::Int<5>, - tav::Divide, tav::Int<2>>::type + tav::Divide, tav::Int<2>> >::value, "(/ 10 2) != 42" ); @@ -96,7 +97,7 @@ static_assert( static_assert( std::is_same< tav::Int<1>, - tav::Modulo, tav::Int<3>>::type + tav::Modulo, tav::Int<3>> >::value, "(modulo 10 3) != 1" ); @@ -104,7 +105,7 @@ static_assert( static_assert( std::is_same< tav::Int<4096>, - tav::Square>::type + tav::Square> >::value, "(square 64) != 4096" ); @@ -112,7 +113,7 @@ static_assert( static_assert( std::is_same< tav::Boolean, - tav::Odd>::type + tav::Odd> >::value, "(odd? 1) != #t" ); @@ -120,7 +121,7 @@ static_assert( static_assert( std::is_same< tav::Boolean, - tav::Odd>::type + tav::Odd> >::value, "(odd? 2) != #f" ); @@ -128,7 +129,7 @@ static_assert( static_assert( std::is_same< tav::Boolean, - tav::GreaterThan, tav::Int<1>>::type + tav::GreaterThan, tav::Int<1>> >::value, "(> 2 1) != #f" ); @@ -136,7 +137,7 @@ static_assert( static_assert( std::is_same< tav::Boolean, - tav::GreaterThan, tav::Int<2>>::type + tav::GreaterThan, tav::Int<2>> >::value, "(> 1 2) != #f" ); @@ -144,7 +145,7 @@ static_assert( static_assert( std::is_same< tav::Boolean, - tav::LowerThan, tav::Int<2>>::type + tav::LowerThan, tav::Int<2>> >::value, "(< 1 2) != #t" ); @@ -152,7 +153,7 @@ static_assert( static_assert( std::is_same< tav::Boolean, - tav::LowerThan, tav::Int<1>>::type + tav::LowerThan, tav::Int<1>> >::value, "(< 2 1) != #f" ); @@ -162,7 +163,7 @@ static_assert( static_assert( std::is_same< tav::Boolean, - tav::And, tav::Boolean>::type + tav::And, tav::Boolean> >::value, "(and #t #t) != #t" ); @@ -170,7 +171,7 @@ static_assert( static_assert( std::is_same< tav::Boolean, - tav::And, tav::Boolean>::type + tav::And, tav::Boolean> >::value, "(and #f #t) != #f" ); @@ -178,7 +179,7 @@ static_assert( static_assert( std::is_same< tav::Boolean, - tav::Or, tav::Boolean>::type + tav::Or, tav::Boolean> >::value, "(or #t #t) != #t" ); @@ -186,7 +187,7 @@ static_assert( static_assert( std::is_same< tav::Boolean, - tav::Or, tav::Boolean>::type + tav::Or, tav::Boolean> >::value, "(or #f #t) != #t" ); @@ -194,7 +195,7 @@ static_assert( static_assert( std::is_same< tav::Boolean, - tav::Or, tav::Boolean>::type + tav::Or, tav::Boolean> >::value, "(or #f #f) != #f" ); @@ -202,7 +203,7 @@ static_assert( static_assert( std::is_same< tav::Boolean, - tav::Xor, tav::Boolean>::type + tav::Xor, tav::Boolean> >::value, "(xor #f #t) != #t" ); @@ -210,7 +211,7 @@ static_assert( static_assert( std::is_same< tav::Boolean, - tav::Xor, tav::Boolean>::type + tav::Xor, tav::Boolean> >::value, "(xor #t #t) != #f" ); @@ -220,7 +221,7 @@ static_assert( static_assert( std::is_same< tav::Int<1>, - tav::If, tav::Int<1>, tav::Int<2>>::type + tav::If, tav::Int<1>, tav::Int<2>> >::value, "(if #t 1 2) != 1" ); @@ -228,7 +229,7 @@ static_assert( static_assert( std::is_same< tav::Int<2>, - tav::If, tav::Int<1>, tav::Int<2>>::type + tav::If, tav::Int<1>, tav::Int<2>> >::value, "(if #f 1 2) != 2" ); @@ -240,7 +241,7 @@ static_assert( tav::Pair, tav::Int<2>>, tav::Int<1>>, tav::Pair, tav::Int<2>>, tav::Int<2>>, tav::Pair, tav::Int<2>>, tav::Int<3>> - >::type + > >::value, "(cond ((= 1 2) 1) ((= 2 2) 2) ((= 3 2) 3)) != 2" ); @@ -253,7 +254,7 @@ static_assert( tav::Pair, tav::Int<3>>, tav::Int< 2>>, tav::Pair, tav::Int<4>>, tav::Int< 3>>, tav::Pair, tav::Int<-1>> - >::type + > >::value, "(cond ((= 1 2) 1) ((= 2 3) 2) ((= 3 4) 3) (else -1)) != -1" ); @@ -264,8 +265,8 @@ static_assert( std::is_same< tav::Int<1>, tav::Car< - tav::Cons, void>::type - >::type + tav::Cons, void> + > >::value, "(car (cons 1 void)) != 1" ); @@ -274,8 +275,8 @@ static_assert( std::is_same< tav::Int<1>, tav::Car< - tav::Cons, tav::Int<2>>::type - >::type + tav::Cons, tav::Int<2>> + > >::value, "(car (cons 1 2)) != 1" ); @@ -284,8 +285,8 @@ static_assert( std::is_same< tav::Int<2>, tav::Cdr< - tav::Cons, tav::Int<2>>::type - >::type + tav::Cons, tav::Int<2>> + > >::value, "(cdr (cons 1 2)) != 2" ); @@ -295,9 +296,9 @@ static_assert( tav::Int<2>, tav::Car< tav::Cdr< - tav::Cons, tav::Cons, tav::Int<3>>::type>::type - >::type - >::type + tav::Cons, tav::Cons, tav::Int<3>>> + > + > >::value, "(car (cdr (cons 1 (cons 2 3)))) != 2" ); @@ -307,7 +308,7 @@ static_assert( static_assert( std::is_same< tav::Pair, void>, - tav::List>::type + tav::List> >::value, "(list 1) != '(1)" ); @@ -315,7 +316,7 @@ static_assert( static_assert( std::is_same< tav::Pair, tav::Pair, void>>, - tav::List, tav::Int<2>>::type + tav::List, tav::Int<2>> >::value, "(list 1 2) != '(1 . 2)" ); @@ -323,7 +324,7 @@ static_assert( static_assert( std::is_same< tav::Pair, tav::Pair, void>>, - tav::List, void, tav::Int<2>, void>::type + tav::List, void, tav::Int<2>, void> >::value, "(list void 1 void 2 void) != '(1 . 2)" ); @@ -332,7 +333,7 @@ static_assert( std::is_same< tav::Int<1>, tav::Head< - tav::List, tav::Int<2>, tav::Int<3>>::type + tav::List, tav::Int<2>, tav::Int<3>> > >::value, "(head (list 1 2 3) != 1" @@ -342,7 +343,7 @@ static_assert( std::is_same< tav::Pair, tav::Pair, void>>, tav::Tail< - tav::List, tav::Int<2>, tav::Int<3>>::type + tav::List, tav::Int<2>, tav::Int<3>> > >::value, "(tail (list 1 2 3) != '(2 . 3)" @@ -353,7 +354,7 @@ static_assert( static_assert( std::is_same< tav::Pair, void>, - tav::ListOfType::type + tav::ListOfType >::value, "(list 1) != (cons 1 void)" ); @@ -361,7 +362,7 @@ static_assert( static_assert( std::is_same< tav::Pair, tav::Pair, void>>, - tav::ListOfType::type + tav::ListOfType >::value, "(list 1 2) != (cons 1 (cons 2 void))" ); @@ -372,8 +373,8 @@ static_assert( std::is_same< tav::Size<1>, tav::Length< - tav::List>::type - >::type + tav::List> + > >::value, "(length (list 1)) != 1" ); @@ -382,8 +383,8 @@ static_assert( std::is_same< tav::Size<2>, tav::Length< - tav::List, tav::Int<2>>::type - >::type + tav::List, tav::Int<2>> + > >::value, "(length (list 1 2)) != 2" ); @@ -395,8 +396,8 @@ static_assert( tav::Int<1>, tav::Nth< tav::Size<0>, - tav::List>::type - >::type + tav::List> + > >::value, "(nth 0 (list 1)) != 1" ); @@ -406,8 +407,8 @@ static_assert( tav::Int<1>, tav::Nth< tav::Size<0>, - tav::List, tav::Int<2>>::type - >::type + tav::List, tav::Int<2>> + > >::value, "(nth 0 (list 1 2)) != 1" ); @@ -417,8 +418,8 @@ static_assert( tav::Int<2>, tav::Nth< tav::Size<1>, - tav::List, tav::Int<2>>::type - >::type + tav::List, tav::Int<2>> + > >::value, "(nth 1 (list 1 2)) != 2" ); @@ -426,7 +427,7 @@ static_assert( static_assert( std::is_same< tav::Int<1>, - tav::First, tav::Int<2>, tav::Int<3>>::type> + tav::First, tav::Int<2>, tav::Int<3>>> >::value, "(first (list 1 2 3)) != 1" ); @@ -434,7 +435,7 @@ static_assert( static_assert( std::is_same< tav::Int<2>, - tav::Second, tav::Int<2>, tav::Int<3>>::type> + tav::Second, tav::Int<2>, tav::Int<3>>> >::value, "(second (list 1 2 3)) != 2" ); @@ -442,7 +443,7 @@ static_assert( static_assert( std::is_same< tav::Int<3>, - tav::Third, tav::Int<2>, tav::Int<3>>::type> + tav::Third, tav::Int<2>, tav::Int<3>>> >::value, "(third (list 1 2 3)) != 3" ); @@ -451,33 +452,33 @@ static_assert( static_assert( std::is_same< - tav::List>::type, + tav::List>, tav::Take< tav::Size<1>, - tav::List, tav::Int<2>>::type - >::type + tav::List, tav::Int<2>> + > >::value, "(take 1 (list 1 2)) != (list 1)" ); static_assert( std::is_same< - tav::List, tav::Int<2>>::type, + tav::List, tav::Int<2>>, tav::Take< tav::Size<2>, - tav::List, tav::Int<2>>::type - >::type + tav::List, tav::Int<2>> + > >::value, "(take 2 (list 1 2)) != (list 1 2)" ); static_assert( std::is_same< - tav::List, tav::Int<2>>::type, + tav::List, tav::Int<2>>, tav::Take< tav::Size<3>, - tav::List, tav::Int<2>>::type - >::type + tav::List, tav::Int<2>> + > >::value, "(take 3 (list 1 2)) != (list 1 2)" ); @@ -486,11 +487,11 @@ static_assert( static_assert( std::is_same< - tav::List>::type, + tav::List>, tav::Drop< tav::Size<1>, - tav::List, tav::Int<2>>::type - >::type + tav::List, tav::Int<2>> + > >::value, "(drop 1 (list 1 2)) != (list 2)" ); @@ -500,8 +501,8 @@ static_assert( void, tav::Drop< tav::Size<2>, - tav::List, tav::Int<2>>::type - >::type + tav::List, tav::Int<2>> + > >::value, "(drop 2 (list 1 2)) != void" ); @@ -511,8 +512,8 @@ static_assert( void, tav::Drop< tav::Size<3>, - tav::List, tav::Int<2>>::type - >::type + tav::List, tav::Int<2>> + > >::value, "(drop 3 (list 1 2)) != void" ); @@ -521,22 +522,22 @@ static_assert( static_assert( std::is_same< - tav::List, tav::Int<2>>::type, + tav::List, tav::Int<2>>, tav::Append< - tav::List>::type, - tav::List>::type - >::type + tav::List>, + tav::List> + > >::value, "(append (list 1) (list 2)) != (list 1 2)" ); static_assert( std::is_same< - tav::List, tav::Int<2>, tav::Int<3>, tav::Int<4>>::type, + tav::List, tav::Int<2>, tav::Int<3>, tav::Int<4>>, tav::Append< - tav::List, tav::Int<2>>::type, - tav::List, tav::Int<4>>::type - >::type + tav::List, tav::Int<2>>, + tav::List, tav::Int<4>> + > >::value, "(append (list 1 2) (list 3 4)) != (list 1 2 3 4)" ); @@ -549,8 +550,8 @@ static_assert( tav::Fold< tav::Add, tav::Int<0>, - tav::List, tav::Int<2>, tav::Int<3>>::type - >::type + tav::List, tav::Int<2>, tav::Int<3>> + > >::value, "(fold + 0 (list 1 2 3)) != 6" ); @@ -562,11 +563,11 @@ using quadruple = tav::Multiply, Element>; static_assert( std::is_same< - tav::List, tav::Int<8>, tav::Int<12>>::type, + tav::List, tav::Int<8>, tav::Int<12>>, tav::Map< quadruple, - tav::List, tav::Int<2>, tav::Int<3>>::type - >::type + tav::List, tav::Int<2>, tav::Int<3>> + > >::value, "(map quadruple (list 1 2 3)) != (list 4 8 12)" ); @@ -575,11 +576,11 @@ static_assert( static_assert( std::is_same< - tav::List, tav::Int<3>>::type, + tav::List, tav::Int<3>>, tav::Filter< tav::Odd, - tav::List, tav::Int<2>, tav::Int<3>>::type - >::type + tav::List, tav::Int<2>, tav::Int<3>> + > >::value, "(filter odd? (list 1 2 3)) != (list 1 3)" ); @@ -588,11 +589,11 @@ static_assert( static_assert( std::is_same< - tav::List, tav::Int<3>>::type, + tav::List, tav::Int<3>>, tav::Remove< tav::Even, - tav::List, tav::Int<2>, tav::Int<3>>::type - >::type + tav::List, tav::Int<2>, tav::Int<3>> + > >::value, "(remove even? (list 1 2 3)) != (list 1 3)" ); @@ -601,22 +602,22 @@ static_assert( static_assert( std::is_same< - tav::List, tav::Int<3>>::type, + tav::List, tav::Int<3>>, tav::Delete< tav::Int<2>, - tav::List, tav::Int<2>, tav::Int<3>>::type - >::type + tav::List, tav::Int<2>, tav::Int<3>> + > >::value, "(delete 2 (list 1 2 3)) != (list 1 3)" ); static_assert( std::is_same< - tav::List, tav::Int<2>, tav::Int<3>>::type, + tav::List, tav::Int<2>, tav::Int<3>>, tav::Delete< tav::Int<4>, - tav::List, tav::Int<2>, tav::Int<3>>::type - >::type + tav::List, tav::Int<2>, tav::Int<3>> + > >::value, "(delete 4 (list 1 2 3)) != (list 1 2 3)" ); @@ -625,11 +626,11 @@ static_assert( static_assert( std::is_same< - tav::List, tav::Int<3>>::type, + tav::List, tav::Int<3>>, tav::DeleteNth< tav::Size<1>, - tav::List, tav::Int<2>, tav::Int<3>>::type - >::type + tav::List, tav::Int<2>, tav::Int<3>> + > >::value, "(delete-nth 1 (list 1 2 3)) != (list 1 3)" ); @@ -639,13 +640,13 @@ static_assert( static_assert( std::is_same< tav::Pair< - tav::List, tav::Int<3>>::type, - tav::List>::type + tav::List, tav::Int<3>>, + tav::List> >, tav::Partition< tav::Odd, - tav::List, tav::Int<2>, tav::Int<3>>::type - >::type + tav::List, tav::Int<2>, tav::Int<3>> + > >::value, "(partition odd? (list 1 2 3)) != [(list 1 3) (list 2)]" ); @@ -654,10 +655,10 @@ static_assert( static_assert( std::is_same< - tav::List, tav::Int<2>, tav::Int<1>>::type, + tav::List, tav::Int<2>, tav::Int<1>>, tav::Reverse< - tav::List, tav::Int<2>, tav::Int<3>>::type - >::type + tav::List, tav::Int<2>, tav::Int<3>> + > >::value, "(reverse (list 1 2 3)) != (list 3 2 1)" ); @@ -669,8 +670,8 @@ static_assert( tav::Boolean, tav::Any< tav::Odd, - tav::List, tav::Int<2>, tav::Int<3>>::type - >::type + tav::List, tav::Int<2>, tav::Int<3>> + > >::value, "(any odd? (list 1 2 3)) != #t" ); @@ -680,8 +681,8 @@ static_assert( tav::Boolean, tav::Any< tav::Odd, - tav::List, tav::Int<4>, tav::Int<6>>::type - >::type + tav::List, tav::Int<4>, tav::Int<6>> + > >::value, "(any odd? (list 2 4 6)) != #f" ); @@ -691,8 +692,8 @@ static_assert( tav::Boolean, tav::All< tav::Even, - tav::List, tav::Int<4>, tav::Int<6>>::type - >::type + tav::List, tav::Int<4>, tav::Int<6>> + > >::value, "(all even? (list 2 4 6)) != #t" ); @@ -702,8 +703,8 @@ static_assert( tav::Boolean, tav::All< tav::Odd, - tav::List, tav::Int<2>, tav::Int<3>>::type - >::type + tav::List, tav::Int<2>, tav::Int<3>> + > >::value, "(all odd? (list 1 2 3)) != #f" ); @@ -713,8 +714,8 @@ static_assert( tav::Boolean, tav::None< tav::Even, - tav::List, tav::Int<3>, tav::Int<5>>::type - >::type + tav::List, tav::Int<3>, tav::Int<5>> + > >::value, "(none even? (list 1 3 5)) != #t" ); @@ -724,8 +725,8 @@ static_assert( tav::Boolean, tav::None< tav::Even, - tav::List, tav::Int<3>, tav::Int<5>>::type - >::type + tav::List, tav::Int<3>, tav::Int<5>> + > >::value, "(none even? (list 2 3 5)) != #f" ); @@ -737,8 +738,8 @@ static_assert( tav::Boolean, tav::Contains< tav::Int<2>, - tav::List, tav::Int<2>, tav::Int<3>>::type - >::type + tav::List, tav::Int<2>, tav::Int<3>> + > >::value, "(contains 2 (list 1 2 3)) != #t" ); @@ -748,8 +749,8 @@ static_assert( tav::Boolean, tav::Contains< tav::Int<0>, - tav::List, tav::Int<2>, tav::Int<3>>::type - >::type + tav::List, tav::Int<2>, tav::Int<3>> + > >::value, "(contains 0 (list 1 2 3)) != #f" ); @@ -758,14 +759,14 @@ static_assert( static_assert( std::is_same< - tav::List, tav::Int<2>, tav::Int<3>, tav::Int<4>, tav::Int<5>, tav::Int<6>>::type, + tav::List, tav::Int<2>, tav::Int<3>, tav::Int<4>, tav::Int<5>, tav::Int<6>>, tav::Concatenate< tav::List< - tav::List, tav::Int<2>>::type, - tav::List>::type, - tav::List, tav::Int<5>, tav::Int<6>>::type - >::type - >::type + tav::List, tav::Int<2>>, + tav::List>, + tav::List, tav::Int<5>, tav::Int<6>> + > + > >::value, "(concatenate (list (list 1 2) (list 3) (list 4 5 6))) != (list 1 2 3 4 5 6)" ); @@ -774,48 +775,48 @@ static_assert( static_assert( std::is_same< - tav::List>::type, + tav::List>, tav::Iota< tav::Size<1>, tav::Int<1>, tav::Int<1> - >::type + > >::value, "(iota 1 1 1) != (list 1)" ); static_assert( std::is_same< - tav::List, tav::Int<2>, tav::Int<3>>::type, + tav::List, tav::Int<2>, tav::Int<3>>, tav::Iota< tav::Size<3>, tav::Int<1>, tav::Int<1> - >::type + > >::value, "(iota 3 1 1) != (list 1 2 3)" ); static_assert( std::is_same< - tav::List, tav::Int<2>, tav::Int<4>, tav::Int<6>, tav::Int<8>>::type, + tav::List, tav::Int<2>, tav::Int<4>, tav::Int<6>, tav::Int<8>>, tav::Iota< tav::Size<5>, tav::Int<0>, tav::Int<2> - >::type + > >::value, "(iota 5 0 2) != (list 0 2 4 6 8)" ); static_assert( std::is_same< - tav::List, tav::Int<4>, tav::Int<3>, tav::Int<2>, tav::Int<1>>::type, + tav::List, tav::Int<4>, tav::Int<3>, tav::Int<2>, tav::Int<1>>, tav::Iota< tav::Size<5>, tav::Int<5>, tav::Int<-1> - >::type + > >::value, "(iota 5 5 -1) != (list 5 4 3 2 1)" ); @@ -824,16 +825,16 @@ static_assert( static_assert( std::is_same< - tav::List>::type, - tav::MakeList, tav::Int<42>>::type + tav::List>, + tav::MakeList, tav::Int<42>> >::value, "(make-list 1 42) != (list 42)" ); static_assert( std::is_same< - tav::List, tav::Int<42>, tav::Int<42>>::type, - tav::MakeList, tav::Int<42>>::type + tav::List, tav::Int<42>, tav::Int<42>>, + tav::MakeList, tav::Int<42>> >::value, "(make-list 3 42) != (list 42 42 42)" ); @@ -842,11 +843,11 @@ static_assert( static_assert( std::is_same< - tav::List, tav::Size<1>, tav::Size<4>, tav::Size<9>>::type, + tav::List, tav::Size<1>, tav::Size<4>, tav::Size<9>>, tav::ListTabulate< tav::Size<4>, tav::Square - >::type + > >::value, "(list-tabulate 4 square) != (list 0 1 4 9)" ); @@ -858,8 +859,8 @@ static_assert( tav::Size<2>, tav::Count< tav::Odd, - tav::List, tav::Int<2>, tav::Int<3>>::type - >::type + tav::List, tav::Int<2>, tav::Int<3>> + > >::value, "(count odd? (list 1 2 3)) != 2" ); @@ -869,8 +870,8 @@ static_assert( tav::Size<0>, tav::Count< tav::Even, - tav::List, tav::Int<3>, tav::Int<5>>::type - >::type + tav::List, tav::Int<3>, tav::Int<5>> + > >::value, "(count even? (list 1 3 5)) != 0" ); @@ -882,8 +883,8 @@ static_assert( tav::Int<4>, tav::Find< tav::Even, - tav::List, tav::Int<3>, tav::Int<4>, tav::Int<6>>::type - >::type + tav::List, tav::Int<3>, tav::Int<4>, tav::Int<6>> + > >::value, "(find even? (list 1 3 4 6)) != 4" ); @@ -893,8 +894,8 @@ static_assert( tav::Int<6>, tav::Find< tav::Even, - tav::List, tav::Int<3>, tav::Int<5>, tav::Int<6>>::type - >::type + tav::List, tav::Int<3>, tav::Int<5>, tav::Int<6>> + > >::value, "(find even? (list 1 3 5 6)) != 6" ); @@ -904,8 +905,8 @@ static_assert( tav::Boolean, tav::Find< tav::Even, - tav::List, tav::Int<3>, tav::Int<5>>::type - >::type + tav::List, tav::Int<3>, tav::Int<5>> + > >::value, "(find even? (list 1 3 5)) != #f" ); @@ -914,22 +915,22 @@ static_assert( static_assert( std::is_same< - tav::List, tav::Int<4>>::type, + tav::List, tav::Int<4>>, tav::TakeWhile< tav::Even, - tav::List, tav::Int<4>, tav::Int<5>, tav::Int<6>>::type - >::type + tav::List, tav::Int<4>, tav::Int<5>, tav::Int<6>> + > >::value, "(take-while even? (list 2 4 5 6)) != (list 2 4)" ); static_assert( std::is_same< - tav::List, tav::Int<4>, tav::Int<6>>::type, + tav::List, tav::Int<4>, tav::Int<6>>, tav::TakeWhile< tav::Even, - tav::List, tav::Int<4>, tav::Int<6>>::type - >::type + tav::List, tav::Int<4>, tav::Int<6>> + > >::value, "(take-while even? (list 2 4 6)) != (list 2 4 6)" ); @@ -939,8 +940,8 @@ static_assert( void, tav::TakeWhile< tav::Odd, - tav::List, tav::Int<4>, tav::Int<5>, tav::Int<6>>::type - >::type + tav::List, tav::Int<4>, tav::Int<5>, tav::Int<6>> + > >::value, "(take-while odd? (list 2 4 5 6)) != void" ); @@ -949,22 +950,22 @@ static_assert( static_assert( std::is_same< - tav::List, tav::Int<6>>::type, + tav::List, tav::Int<6>>, tav::DropWhile< tav::Even, - tav::List, tav::Int<4>, tav::Int<5>, tav::Int<6>>::type - >::type + tav::List, tav::Int<4>, tav::Int<5>, tav::Int<6>> + > >::value, "(drop-while even? (list 2 4 5 6)) != (list 5 6)" ); static_assert( std::is_same< - tav::List, tav::Int<4>, tav::Int<6>>::type, + tav::List, tav::Int<4>, tav::Int<6>>, tav::DropWhile< tav::Odd, - tav::List, tav::Int<4>, tav::Int<6>>::type - >::type + tav::List, tav::Int<4>, tav::Int<6>> + > >::value, "(drop-while odd? (list 2 4 6)) != (list 2 4 6)" ); @@ -974,8 +975,8 @@ static_assert( void, tav::DropWhile< tav::Even, - tav::List, tav::Int<4>, tav::Int<6>>::type - >::type + tav::List, tav::Int<4>, tav::Int<6>> + > >::value, "(drop-while even? (list 2 4 6)) != void" ); @@ -984,33 +985,33 @@ static_assert( static_assert( std::is_same< - tav::List, tav::Int<2>, tav::Int<3>>::type, + tav::List, tav::Int<2>, tav::Int<3>>, tav::Sort< tav::GreaterThan, - tav::List, tav::Int<2>, tav::Int<1>>::type - >::type + tav::List, tav::Int<2>, tav::Int<1>> + > >::value, "(sort > (list 3 2 1)) != (list 1 2 3)" ); static_assert( std::is_same< - tav::List, tav::Int<2>, tav::Int<1>>::type, + tav::List, tav::Int<2>, tav::Int<1>>, tav::Sort< tav::LowerThan, - tav::List, tav::Int<3>, tav::Int<2>>::type - >::type + tav::List, tav::Int<3>, tav::Int<2>> + > >::value, "(sort < (list 1 3 2)) != (list 3 2 1)" ); static_assert( std::is_same< - tav::Iota, tav::Int<1>, tav::Int<1>>::type, + tav::Iota, tav::Int<1>, tav::Int<1>>, tav::Sort< tav::GreaterThan, - tav::Iota, tav::Int<42>, tav::Int<-1>>::type - >::type + tav::Iota, tav::Int<42>, tav::Int<-1>> + > >::value, "(sort > (iota 42 42 -1)) != (iota 42 1 1)" ); @@ -1033,15 +1034,15 @@ static_assert( static_assert( std::is_same< - tav::List, tav::Int<12>, tav::Int<14>>::type, + tav::List, tav::Int<12>, tav::Int<14>>, tav::Map< tav::Apply< tav::Add, tav::_0, tav::Int<10> >::function, - tav::List, tav::Int<2>, tav::Int<4>>::type - >::type + tav::List, tav::Int<2>, tav::Int<4>> + > >::value, "(map (lambda (x) (+ x 10)) (list 0 2 4)) != (list 10 12 14)" ); -- cgit v1.2.3