• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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