inline bool check_less(const char* function, const T_y& y, const T_high& high, const char* name, T_result* result) { return check_less(function,y,high,name,result,default_policy()); }
void test_match(Param str) { MatchType cm; TEST(booster::regex_match(str,cm,booster::regex("(a)(a)(x)?(b)"))); TEST(cm.size()==5); TEST(cm[0].matched && cm[1].matched && cm[1].matched && !cm[3].matched && cm[4].matched); TEST(cm[0]=="aab"); TEST(cm[1]=="a"); TEST(cm[2]=="a"); TEST(cm[3]!="a"); TEST(cm[3]==""); TEST(cm[4]=="b"); check_equal(cm[1],cm[2]); check_less(cm[1],cm[4]); check_less(cm[3],cm[1]); check_equal(cm[1],"a"); check_less(cm[1],"b"); check_less("",cm[1]); check_equal(cm[1],std::string("a")); check_less(cm[1],std::string("b")); check_less(std::string(""),cm[1]); TEST(cm[1]+cm[4]=="ab"); TEST("a"+cm[4]=="ab"); TEST(cm[1]+"b"=="ab"); TEST(std::string("a")+cm[4]=="ab"); TEST(cm[1]+std::string("b")=="ab"); }