65 JParser<> zap(
"Auxiliary program to test object comparison methods.");
71 catch(
const exception &error) {
72 FATAL(error.what() << endl);
79 buffer.push_back(__A__(3.0));
80 buffer.push_back(__A__(4.0));
81 buffer.push_back(__A__(2.0));
82 buffer.push_back(__A__(1.0));
83 buffer.push_back(__A__(5.0));
85 ASSERT(buffer.size() >= 2);
89 buffer.begin(), buffer.end());
95 "sort(.., make_comparator(&__A__::get))",
96 buffer.begin(), buffer.end());
98 for (buffer_type::const_iterator q = buffer.begin(), p = q++; q != buffer.end(); ++p, ++q) {
99 ASSERT(p->get() < q->get(),
"test sort");
104 for (
const auto&
i : buffer) {
106 buffer_type::const_iterator p = lower_bound(buffer.begin(), buffer.end(),
i.get(),
make_comparator(&__A__::get));
108 ASSERT(p != buffer.end() &&
i.get() == p->get(),
"test lower_bound");
112 sort(buffer.begin(), buffer.end(),
make_comparator(&__A__::get, JComparison::gt()));
115 "sort(.., make_comparator(&__A__::get, JComparison::gt()))",
116 buffer.begin(), buffer.end());
118 for (buffer_type::const_iterator q = buffer.begin(), p = q++; q != buffer.end(); ++p, ++q) {
119 ASSERT(p->get() > q->get());
126 "sort(.., make_comparator(&__A__::a))",
127 buffer.begin(), buffer.end());
129 for (buffer_type::const_iterator q = buffer.begin(), p = q++; q != buffer.end(); ++p, ++q) {
136 "sort(.., make_comparator(&__A__::a), JComparison::gt())",
137 buffer.begin(), buffer.end());
139 for (buffer_type::const_iterator q = buffer.begin(), p = q++; q != buffer.end(); ++p, ++q) {
Utility class to parse command line options.
JComparator< JResult_t T::*, JComparison::lt > make_comparator(JResult_t T::*member)
Helper method to create comparator between values of data member.
std::vector< JHitW0 > buffer_type
hits
#define ASSERT(A,...)
Assert macro.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object