1 // (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
2 // Hinnant & John Maddock 2000. Permission to copy, use, modify,
3 // sell and distribute this software is granted provided this
4 // copyright notice appears in all copies. This software is provided
5 // "as is" without express or implied warranty, and with no claim as
6 // to its suitability for any purpose.
8 // See http://www.boost.org for most recent version including documentation.
10 // defines traits classes for composite types:
11 // is_array, is_pointer, is_reference, is_member_pointer, is_enum, is_union.
13 // Fixed is_pointer, is_reference, is_const, is_volatile, is_same,
14 // is_member_pointer based on the Simulated Partial Specialization work
15 // of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or
16 // http://groups.yahoo.com/group/boost/message/5441
17 // Some workarounds in here use ideas suggested from "Generic<Programming>:
18 // Mappings between Types and Values"
19 // by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).
20 // Fixes for is_array are based on a newgroup posting by Jonathan Lundquist.
22 #ifndef BOOST_TT_COMPOSITE_TRAITS_HPP_INCLUDED
23 #define BOOST_TT_COMPOSITE_TRAITS_HPP_INCLUDED
25 #include "boost/type_traits/is_array.hpp"
26 #include "boost/type_traits/is_enum.hpp"
27 #include "boost/type_traits/is_member_pointer.hpp"
28 #include "boost/type_traits/is_member_function_pointer.hpp"
29 #include "boost/type_traits/is_pointer.hpp"
30 #include "boost/type_traits/is_reference.hpp"
31 #include "boost/type_traits/is_union.hpp"
33 #endif // BOOST_TT_COMPOSITE_TRAITS_HPP_INCLUDED