forwards.h
Go to the documentation of this file.
1 //=================================================================================================
2 // Copyright (c) 2011, Johannes Meyer, TU Darmstadt
3 // All rights reserved.
4 
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are met:
7 // * Redistributions of source code must retain the above copyright
8 // notice, this list of conditions and the following disclaimer.
9 // * Redistributions in binary form must reproduce the above copyright
10 // notice, this list of conditions and the following disclaimer in the
11 // documentation and/or other materials provided with the distribution.
12 // * Neither the name of the Flight Systems and Automatic Control group,
13 // TU Darmstadt, nor the names of its contributors may be used to
14 // endorse or promote products derived from this software without
15 // specific prior written permission.
16 
17 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
21 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 //=================================================================================================
28 
29 #ifndef CPP_INTROSPECTION_FORWARDS_H
30 #define CPP_INTROSPECTION_FORWARDS_H
31 
32 #include <boost/shared_ptr.hpp>
33 #include <boost/any.hpp>
34 #include <map>
35 #include <vector>
36 #include <string>
37 
38 namespace cpp_introspection {
39 
40  class Package;
41  class Message;
42  class Field;
43  class Type;
44  class AccessorBase;
45 
47  typedef boost::weak_ptr<Package const> PackageWPtr;
49  typedef boost::weak_ptr<Message const> MessageWPtr;
51  typedef boost::weak_ptr<Field const> FieldWPtr;
53  typedef boost::weak_ptr<Type const> TypeWPtr;
54 
55  typedef std::vector<PackagePtr> V_Package;
56  typedef std::vector<MessagePtr> V_Message;
57  typedef std::vector<FieldPtr> V_Field;
58  typedef std::vector<const char *> V_FieldName;
59  typedef std::vector<TypePtr> V_Type;
60 
61  typedef std::map<std::string,PackageWPtr> M_Package;
62  typedef std::map<std::string,MessageWPtr> M_Message;
63  typedef std::map<std::string,FieldWPtr> M_Field;
64  typedef std::map<std::string,TypeWPtr> M_Type;
65 
66  struct CompareTypeInfo { bool operator()(const std::type_info *t1, const std::type_info *t2) const { return (*t1).before(*t2); } };
67  typedef std::map<const std::type_info *,MessageWPtr,CompareTypeInfo> M_TypeInfo_Message;
68 
70  typedef boost::weak_ptr<void> VoidWPtr;
72  typedef boost::weak_ptr<void const> VoidConstWPtr;
73 
74  typedef std::vector<std::string> V_string;
75 
76 } // namespace cpp_introspection
77 
78 #endif // CPP_INTROSPECTION_FORWARDS_H
std::vector< std::string > V_string
Definition: forwards.h:74
std::vector< MessagePtr > V_Message
Definition: forwards.h:56
std::vector< FieldPtr > V_Field
Definition: forwards.h:57
boost::weak_ptr< Field const > FieldWPtr
Definition: forwards.h:51
boost::weak_ptr< Type const > TypeWPtr
Definition: forwards.h:53
boost::weak_ptr< Message const > MessageWPtr
Definition: forwards.h:49
std::map< std::string, FieldWPtr > M_Field
Definition: forwards.h:63
boost::weak_ptr< void const > VoidConstWPtr
Definition: forwards.h:72
boost::weak_ptr< Package const > PackageWPtr
Definition: forwards.h:47
boost::shared_ptr< Package const > PackagePtr
Definition: forwards.h:44
std::map< const std::type_info *, MessageWPtr, CompareTypeInfo > M_TypeInfo_Message
Definition: forwards.h:67
std::vector< TypePtr > V_Type
Definition: forwards.h:59
boost::shared_ptr< void > VoidPtr
Definition: forwards.h:69
std::map< std::string, TypeWPtr > M_Type
Definition: forwards.h:64
std::vector< PackagePtr > V_Package
Definition: forwards.h:55
boost::shared_ptr< Field const > FieldPtr
Definition: forwards.h:50
boost::shared_ptr< void const > VoidConstPtr
Definition: forwards.h:71
bool operator()(const std::type_info *t1, const std::type_info *t2) const
Definition: forwards.h:66
boost::shared_ptr< Message const > MessagePtr
Definition: forwards.h:48
std::map< std::string, MessageWPtr > M_Message
Definition: forwards.h:62
boost::shared_ptr< Type const > TypePtr
Definition: forwards.h:52
std::vector< const char * > V_FieldName
Definition: forwards.h:58
std::map< std::string, PackageWPtr > M_Package
Definition: forwards.h:61
boost::weak_ptr< void > VoidWPtr
Definition: forwards.h:70


cpp_introspection
Author(s): Johannes Meyer
autogenerated on Mon Jun 10 2019 12:56:17