Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:50:37

0001 // Copyright David Abrahams 2002.
0002 // Distributed under the Boost Software License, Version 1.0. (See
0003 // accompanying file LICENSE_1_0.txt or copy at
0004 // http://www.boost.org/LICENSE_1_0.txt)
0005 #ifndef CV_CATEGORY_DWA200222_HPP
0006 # define CV_CATEGORY_DWA200222_HPP
0007 # include <boost/python/detail/type_traits.hpp>
0008 
0009 namespace boost { namespace python { namespace detail { 
0010 
0011 template <bool is_const_, bool is_volatile_>
0012 struct cv_tag
0013 {
0014     BOOST_STATIC_CONSTANT(bool, is_const = is_const_);
0015     BOOST_STATIC_CONSTANT(bool, is_volatile = is_volatile_);
0016 };
0017 
0018 typedef cv_tag<false,false> cv_unqualified;
0019 typedef cv_tag<true,false> const_;
0020 typedef cv_tag<false,true> volatile_;
0021 typedef cv_tag<true,true> const_volatile_;
0022 
0023 template <class T>
0024 struct cv_category
0025 {
0026 //    BOOST_STATIC_CONSTANT(bool, c = is_const<T>::value);
0027 //    BOOST_STATIC_CONSTANT(bool, v = is_volatile<T>::value);
0028     typedef cv_tag<
0029         is_const<T>::value
0030       , is_volatile<T>::value
0031     > type;
0032 };
0033 
0034 }}} // namespace boost::python::detail
0035 
0036 #endif // CV_CATEGORY_DWA200222_HPP