diff options
Diffstat (limited to 'libcutl/cutl/details/boost/mpl/aux_/yes_no.hpp')
-rw-r--r-- | libcutl/cutl/details/boost/mpl/aux_/yes_no.hpp | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/libcutl/cutl/details/boost/mpl/aux_/yes_no.hpp b/libcutl/cutl/details/boost/mpl/aux_/yes_no.hpp new file mode 100644 index 0000000..4ea9acc --- /dev/null +++ b/libcutl/cutl/details/boost/mpl/aux_/yes_no.hpp @@ -0,0 +1,58 @@ + +#ifndef BOOST_MPL_AUX_YES_NO_HPP_INCLUDED +#define BOOST_MPL_AUX_YES_NO_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: yes_no.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $ +// $Revision: 49267 $ + +#include <cutl/details/boost/mpl/aux_/nttp_decl.hpp> +#include <cutl/details/boost/mpl/aux_/config/arrays.hpp> +#include <cutl/details/boost/mpl/aux_/config/msvc.hpp> +#include <cutl/details/boost/mpl/aux_/config/workaround.hpp> + + +namespace cutl_details_boost { namespace mpl { namespace aux { + +typedef char (&no_tag)[1]; +typedef char (&yes_tag)[2]; + +template< bool C_ > struct yes_no_tag +{ + typedef no_tag type; +}; + +template<> struct yes_no_tag<true> +{ + typedef yes_tag type; +}; + + +template< BOOST_MPL_AUX_NTTP_DECL(long, n) > struct weighted_tag +{ +#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) + typedef char (&type)[n]; +#else + char buf[n]; + typedef weighted_tag type; +#endif +}; + +#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) +template<> struct weighted_tag<0> +{ + typedef char (&type)[1]; +}; +#endif + +}}} + +#endif // BOOST_MPL_AUX_YES_NO_HPP_INCLUDED |