Intel C++ 9.0 (Linux)

BOOST_STATIC_ASSERT

../main.cpp(89): error: incomplete type is not allowed

        ASSERT_BOOST_STATIC_ASSERT(namespace_assert_if);
        ^
 
../main.cpp(150): error: incomplete type is not allowed
                ASSERT_BOOST_STATIC_ASSERT(is_random_access<category_type>::value);
                ^
          detected during instantiation of class "tests::class_scope<iterator_> [with iterator_=std::list<int, std::allocator<int>>::iterator]" at line 158
 
compilation aborted for ../main.cpp (code 2)

BOOST_MPL_ASSERT


../main.cpp(90): error: no instance of function template "boost::mpl::assertion_failed" matches the argument list
            argument types are: (boost::mpl::failed ************tests::bool_value<false>::************)
        ASSERT_BOOST_MPL_ASSERT((bool_value<namespace_assert_if>));
        ^
 
../main.cpp(151): error: no instance of function template "boost::mpl::assertion_failed" matches the argument list
            argument types are: (boost::mpl::failed ************tests::is_random_access<tests::class_scope<std::list<int, std::allocator<int>>::iterator>::ca
tegory_type>::************)
                ASSERT_BOOST_MPL_ASSERT((is_random_access<category_type>));
                ^
          detected during instantiation of class "tests::class_scope<iterator_> [with iterator_=std::list<int, std::allocator<int>>::iterator]" at line 158
 

BOOST_MPL_ASSERT_MSG


../main.cpp(91): error: no instance of function template "boost::mpl::assertion_failed" matches the argument list
            argument types are: (boost::mpl::failed ************(tests::NAMESPACE_ASSERT::*__ptr64 ***********)(int))
        ASSERT_BOOST_MPL_ASSERT_MSG(namespace_assert_if, NAMESPACE_ASSERT, (int));
        ^
 
../main.cpp(152): error: no instance of function template "boost::mpl::assertion_failed" matches the argument list
            argument types are: (boost::mpl::failed ************(tests::class_scope<std::list<int, std::allocator<int>>::iterator>::NOT_RANDOM_ACCESS::*__ptr64 ***********)(std::list<int, std::allocator<int>>::iterator, tests::class_scope<std::list<int, std::allocator<int>>::iterator>::category_type))
                ASSERT_BOOST_MPL_ASSERT_MSG((is_random_access<category_type>::value), NOT_RANDOM_ACCESS, (iterator_, category_type));
                ^
          detected during instantiation of class "tests::class_scope<iterator_> [with iterator_=std::list<int, std::allocator<int>>::iterator]" at line 158
 

kuodo::types::assert


../assert.hpp(31): error: class "kuodo::types::assertion<false>" has no member "assert"
  template<int if_, int assert_ = assertion<if_ != 0>::assert> struct
                                                       ^
          detected during processing of template argument list for "kuodo::types::assert" based on template argument <0> at line 92 of "../main.cpp"
 
../assert.hpp(31): error: class "kuodo::types::assertion<false>" has no member "assert"
  template<int if_, int assert_ = assertion<if_ != 0>::assert> struct
                                                       ^
          detected during:
            processing of template argument list for "kuodo::types::assert" based on template argument <0> at line 153 of "../main.cpp"
            instantiation of class "tests::class_scope<iterator_> [with iterator_=std::list<int, std::allocator<int>>::iterator]" at line 158 of "../main.cpp"
 

kuodo::types::type_assert


../assert.hpp(56): error: class "tests::namespace_assert<int>" has no member "assert"
  template<typename if_, int assert_ = if_::assert> struct
                                            ^
          detected during processing of template argument list for "kuodo::types::type_assert" based on template argument <tests::namespace_assert<int>> at line 93 of "../main.cpp"
 
../assert.hpp(56): error: class "tests::class_scope<iterator_>::not_random_access<tests::class_scope<std::list<int, std::allocator<int>>::iterator>::category_type> [with iterator_=std::list<int, std::allocator<int>>::iterator]" has no member "assert"
  template<typename if_, int assert_ = if_::assert> struct
                                            ^
          detected during:
            processing of template argument list for "kuodo::types::type_assert" based on template argument <tests::class_scope<std::list<int, std::allocator<int>>::iterator>::not_random_access<tests::class_scope<std::list<int, std::allocator<int>>::iterator>::category_type>> at line 154 of "../main.cpp"
            instantiation of class "tests::class_scope<iterator_> [with iterator_=std::list<int, std::allocator<int>>::iterator]" at line 158 of "../main.cpp"