43 copy(__begin, __end, ostream_iterator<typename T::value_type>(out,
" "));
56int main(
int argc,
char **argv)
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());
92 sort(buffer.begin(), buffer.end(), make_comparator(&__A__::get));
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());
123 sort(buffer.begin(), buffer.end(), make_comparator(&__A__::a));
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) {
133 sort(buffer.begin(), buffer.end(), make_comparator(&__A__::a,
JComparison::gt()));
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) {