Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:53:12

0001 // Copyright (C) 2006 Arkadiy Vertleyb
0002 // Copyright (C) 2017 Daniela Engert
0003 // Use, modification and distribution is subject to the Boost Software
0004 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
0005 
0006 #ifndef BOOST_TYPEOF_DECLTYPE_HPP_INCLUDED
0007 # define BOOST_TYPEOF_DECLTYPE_HPP_INCLUDED
0008 
0009 #include <type_traits>
0010 
0011 namespace boost { namespace type_of {
0012     template<typename T>
0013     using remove_cv_ref_t = typename std::remove_cv<typename std::remove_reference<T>::type>::type;
0014 }}
0015 
0016 #define BOOST_TYPEOF(expr) boost::type_of::remove_cv_ref_t<decltype(expr)>
0017 #define BOOST_TYPEOF_TPL BOOST_TYPEOF
0018 
0019 #define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
0020     struct name {\
0021         typedef BOOST_TYPEOF_TPL(expr) type;\
0022     };
0023 
0024 #define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
0025     struct name {\
0026         typedef BOOST_TYPEOF(expr) type;\
0027     };
0028 
0029 #define BOOST_TYPEOF_REGISTER_TYPE(x)
0030 #define BOOST_TYPEOF_REGISTER_TEMPLATE(x, params)
0031 
0032 #endif //BOOST_TYPEOF_DECLTYPE_HPP_INCLUDED
0033