- Aldebaran documentation |
- C++ Libraries |
- index

libqi-api 2.8.7.4

- Main Page
- Related Pages
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
metaproperty.hpp
Go to the documentation of this file.
1 #pragma once
2 /*
3 ** Copyright (C) 2013 Aldebaran Robotics
4 ** See COPYING for the license
5 */
6
7 #ifndef _QI_TYPE_METAPROPERTY_HPP_
8 #define _QI_TYPE_METAPROPERTY_HPP_
9
10 #include <qi/type/typeinterface.hpp>
11
12 #ifdef _MSC_VER
13 # pragma warning( push )
14 # pragma warning( disable: 4251 )
15 #endif
16
17 namespace qi
18 {
19 class QI_API MetaProperty
20 {
21 public:
22 MetaProperty(unsigned int uid, const std::string& name, const qi::Signature& sig);
23 MetaProperty();
24 const std::string& name() const;
25 const qi::Signature& signature() const;
26 std::string toString() const;
27 unsigned int uid() const;
28
31 bool isPrivate() const;
32
33 private:
34 unsigned int _uid;
35 std::string _name;
36 qi::Signature _signature;
37 QI_TYPE_STRUCT_PRIVATE_ACCESS(MetaProperty);
38 };
39 }
40
41
42 QI_TYPE_STRUCT_AGREGATE_CONSTRUCTOR(qi::MetaProperty,
43 ("uid",_uid),
44 ("name",_name),
45 ("signature", _signature));
46
47
48 #ifdef _MSC_VER
49 # pragma warning( pop )
50 #endif
51
52 #endif // _QITYPE_METAPROPERTY_HPP_
QI_API
#define QI_API
Definition: api.hpp:33
qi::Signature
Definition: signature.hpp:66
qi::log::env::QI_DEFAULT_LOGHANDLER::name
char const *const name
typeinterface.hpp
qi::MetaProperty
Definition: metaproperty.hpp:19
QI_TYPE_STRUCT_PRIVATE_ACCESS
#define QI_TYPE_STRUCT_PRIVATE_ACCESS(name)
Allow the QI_TYPE_STRUCT macro and variants to access private members.
Definition: structtypeinterface.hxx:384
QI_TYPE_STRUCT_AGREGATE_CONSTRUCTOR
QI_TYPE_STRUCT_AGREGATE_CONSTRUCTOR(qi::MetaProperty,("uid", _uid),("name", _name),("signature", _signature))