libqi-api  2.8.7.4
 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 
11 
12 #ifdef _MSC_VER
13 # pragma warning( push )
14 # pragma warning( disable: 4251 )
15 #endif
16 
17 namespace qi
18 {
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;
38  };
39 }
40 
41 
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_
#define QI_API
Definition: api.hpp:33
#define QI_TYPE_STRUCT_PRIVATE_ACCESS(name)
Allow the QI_TYPE_STRUCT macro and variants to access private members.
QI_TYPE_STRUCT_AGREGATE_CONSTRUCTOR(qi::MetaProperty,("uid", _uid),("name", _name),("signature", _signature))