/*-----------------------------------------------------------------------------+ Copyright (c) 2008-2009: Joachim Faulhaber +------------------------------------------------------------------------------+ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENCE.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #ifndef BOOST_ICL_TYPE_TRAITS_IS_ELEMENT_CONTAINER_HPP_JOFA_090830 #define BOOST_ICL_TYPE_TRAITS_IS_ELEMENT_CONTAINER_HPP_JOFA_090830 #include #include #include #include #include #include namespace boost{ namespace icl { template struct is_element_map { typedef is_element_map type; BOOST_STATIC_CONSTANT(bool, value = (mpl::and_, mpl::not_ > >::value) ); }; template struct is_element_set { typedef is_element_set type; BOOST_STATIC_CONSTANT(bool, value = (mpl::or_< mpl::and_< is_set , mpl::not_ > > , is_std_set >::value) ); }; template struct is_element_container { typedef is_element_container type; BOOST_STATIC_CONSTANT(bool, value = (mpl::or_, is_element_map >::value) ); }; }} // namespace boost icl #endif