#define BOOST_TEST_MODULE "test_traits" #ifdef UNITTEST_FRAMEWORK_LIBRARY_EXIST #include #else #define BOOST_TEST_NO_LIB #include #endif #include #include #include #include #include #include #include #include #include #include struct dummy_type{}; template struct dummy_container { typedef T value_type; typedef value_type* pointer; typedef value_type& reference; typedef value_type const* const_pointer; typedef value_type const& const_reference; typedef pointer iterator; typedef const_pointer const_iterator; }; typedef std::array std_array_type; typedef std::map std_map_type; typedef std::unordered_map std_unordered_map_type; BOOST_AUTO_TEST_CASE(test_has_xxx) { BOOST_CHECK(toml::detail::has_iterator>::value); BOOST_CHECK(toml::detail::has_iterator>::value); BOOST_CHECK(toml::detail::has_iterator>::value); BOOST_CHECK(toml::detail::has_iterator>::value); BOOST_CHECK(toml::detail::has_iterator>::value); BOOST_CHECK(toml::detail::has_iterator>::value); BOOST_CHECK(toml::detail::has_iterator::value); BOOST_CHECK(toml::detail::has_iterator::value); BOOST_CHECK(toml::detail::has_iterator::value); BOOST_CHECK(toml::detail::has_iterator>::value); BOOST_CHECK(toml::detail::has_value_type>::value); BOOST_CHECK(toml::detail::has_value_type>::value); BOOST_CHECK(toml::detail::has_value_type>::value); BOOST_CHECK(toml::detail::has_value_type>::value); BOOST_CHECK(toml::detail::has_value_type::value); BOOST_CHECK(toml::detail::has_value_type>::value); BOOST_CHECK(toml::detail::has_value_type>::value); BOOST_CHECK(toml::detail::has_value_type::value); BOOST_CHECK(toml::detail::has_value_type::value); BOOST_CHECK(toml::detail::has_value_type>::value); BOOST_CHECK(toml::detail::has_key_type::value); BOOST_CHECK(toml::detail::has_key_type::value); BOOST_CHECK(toml::detail::has_mapped_type::value); BOOST_CHECK(toml::detail::has_mapped_type::value); } BOOST_AUTO_TEST_CASE(test_is_xxx) { BOOST_CHECK(toml::detail::is_container>::value); BOOST_CHECK(toml::detail::is_container>::value); BOOST_CHECK(toml::detail::is_container>::value); BOOST_CHECK(toml::detail::is_container>::value); BOOST_CHECK(toml::detail::is_container::value); BOOST_CHECK(toml::detail::is_container>::value); BOOST_CHECK(toml::detail::is_container>::value); BOOST_CHECK(toml::detail::is_container>::value); BOOST_CHECK(!toml::detail::is_container::value); BOOST_CHECK(!toml::detail::is_container::value); BOOST_CHECK(toml::detail::is_map::value); BOOST_CHECK(toml::detail::is_map::value); }