void test_foreach() { using namespace boost::assign; std::vector<int> v; v += 1, 2, 3, 4, 5, 6, 7, 8, 9; BOOST_FOREACH(int x, v) { std::cout << x << ", "; } std::cout << std::endl; std::string str("boost foreach"); BOOST_FOREACH(char& x, str) { std::cout << x << "-"; } std::cout << std::endl; } void test_minmax() { struct Comp { bool operator()(const std::string &a, const std::string &b) { return (a < b) || (b.find("BOSS") != std::string::npos); } }; std::string s1("5000"), s2("123BOSS"); BOOST_AUTO(x, minmax(s1, s2)); std::cout << x.second << " " << x.first << std::endl; BOOST_AUTO(y, minmax(s1, s2, Comp())); std::cout << y.second << " " << y.first << std::endl; } void test_minmax_element() { std::vector<int> v = boost::assign::list_of(633)(90)(67)(83)(2)(100); BOOST_AUTO(x, boost::minmax_element(v.begin(), v.end())); std::cout << "min: " << *x.first << std::endl; std::cout << "max: " << *x.second << std::endl; }