// (C) Copyright 2008-2009 SDML (www.sdml.info) // // Use, modification and distribution is subject to the Boost Software // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #include #include #include #include #include #include #include using namespace origin; using std::cout; template < typename R, typename = typename requires>::type > void test() { typedef Range Model; cout << typestr() << "\n"; cout << " sat: " << typestr() << "\n"; } int main() { { typedef std::vector Vector; typedef iterator_range VectorRange; test(); } { typedef std::list List; typedef iterator_range ListRange; test(); } { typedef iterator_range InvalidRange; // test(); CRIT test(); } return 0; }