Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 10:10:13

0001 // Boost.TypeErasure library
0002 //
0003 // Copyright 2011 Steven Watanabe
0004 //
0005 // Distributed under the Boost Software License Version 1.0. (See
0006 // accompanying file LICENSE_1_0.txt or copy at
0007 // http://www.boost.org/LICENSE_1_0.txt)
0008 //
0009 // $Id$
0010 
0011 #ifndef BOOST_TYPE_ERASURE_DERIVED_HPP_INCLUDED
0012 #define BOOST_TYPE_ERASURE_DERIVED_HPP_INCLUDED
0013 
0014 namespace boost {
0015 namespace type_erasure {
0016 
0017 /**
0018  * A metafunction which returns the full @ref any type,
0019  * when given any of its base classes.  This is primarily
0020  * intended to be used when implementing @ref concept_interface.
0021  *
0022  * \see rebind_any, as_param
0023  */
0024 template<class T>
0025 struct derived
0026 {
0027 #ifdef BOOST_TYPE_ERASURE_DOXYGEN
0028     typedef detail::unspecified type;
0029 #else
0030     typedef typename T::_boost_type_erasure_derived_type type;
0031 #endif
0032 };
0033 
0034 #ifndef BOOST_NO_CXX11_TEMPLATE_ALIASES
0035 
0036 template<class T>
0037 using derived_t = typename T::_boost_type_erasure_derived_type;
0038 
0039 #endif
0040 
0041 }
0042 }
0043 
0044 #endif