1 #include <fstream> 2 #include <streambuf> 3 4 namespace boost { 5 namespace static_strings { 6 7 static_assert(std::is_base_of< 8 detail::static_string_base<0, char, std::char_traits<char>>, 9 static_string<0>>::value, 10 "the zero size optimization shall be used for N = 0"); 11 12 static_assert(std::is_base_of< 13 detail::static_string_base<(std::numeric_limits<char>::max)() + 1, char, std::char_traits<char>>, 14 static_string<(std::numeric_limits<char>::max)() + 1>>::value, 15 "the minimum size type optimization shall be used for N > 0"); 16 17 static_assert(!detail::is_input_iterator<int>::value, "is_input_iterator is incorrect"); 18 static_assert(!detail::is_input_iterator<double>::value, "is_input_iterator is incorrect"); 19 static_assert(detail::is_input_iterator<int*>::value, "is_input_iterator is incorrect"); 20 static_assert(detail::is_input_iterator<std::istreambuf_iterator<char>>::value, "is_input_iterator is incorrect"); 21 22 static_assert(!detail::is_forward_iterator<int>::value, "is_forward_iterator is incorrect"); 23 static_assert(!detail::is_forward_iterator<double>::value, "is_forward_iterator is incorrect"); 24 static_assert(detail::is_forward_iterator<int*>::value, "is_forward_iterator is incorrect"); 25 static_assert(!detail::is_forward_iterator<std::istreambuf_iterator<char>>::value, "is_forward_iterator is incorrect"); 26 } // boost 27 } // static_strings