1 /*============================================================================= 2 Copyright (c) 2001-2007 Joel de Guzman 3 Copyright (c) 2005-2006 Dan Marsden 4 Copyright (c) 2009-2010 Christopher Schmidt 5 6 Distributed under the Boost Software License, Version 1.0. (See accompanying 7 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 8 ==============================================================================*/ 9 10 #ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_EXTENSION_HPP 11 #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_EXTENSION_HPP 12 13 #include <boost/fusion/support/config.hpp> 14 #include <boost/fusion/support/category_of.hpp> 15 16 namespace boost { namespace fusion 17 { 18 struct struct_tag; 19 struct struct_iterator_tag; 20 struct assoc_struct_tag; 21 struct fusion_sequence_tag; 22 23 struct assoc_struct_category 24 : random_access_traversal_tag, associative_tag 25 {}; 26 27 namespace extension 28 { 29 struct no_such_member; 30 31 struct access 32 { 33 template<typename Seq, int N> 34 struct struct_member; 35 36 template<typename Seq, int N> 37 struct adt_attribute_access; 38 }; 39 40 template <typename T, int N, bool Const> 41 struct adt_attribute_proxy; 42 43 template<typename Seq, int N> 44 struct struct_member_name; 45 46 template<typename Seq> 47 struct struct_size; 48 49 template<typename Seq> 50 struct struct_is_view; 51 52 template<typename Seq, int N> 53 struct struct_assoc_key; 54 55 } 56 }} 57 58 #endif 59