YARP
Yet Another Robot Platform
Type.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 
6 #ifndef YARP_OS_TYPE_H
7 #define YARP_OS_TYPE_H
8 
9 #include <yarp/os/api.h>
10 
11 #include <string>
12 
13 namespace yarp::os {
14 
15 class Property;
16 class Searchable;
17 class Value;
18 
20 {
21 public:
27  Type();
28 
34  Type(const Type& rhs);
35 
41  Type(Type&& rhs) noexcept;
42 
46  virtual ~Type();
47 
54  Type& operator=(const Type& rhs);
55 
62  Type& operator=(Type&& rhs) noexcept;
63 
67  std::string getName() const;
68 
69  std::string getNameOnWire() const;
70 
71  bool hasName() const;
72 
73  bool isValid() const;
74 
75  std::string toString() const;
76 
77  const Searchable& readProperties() const;
78 
79  Property& writeProperties();
80 
81  Type& addProperty(const char* key, const Value& val);
82 
86  static Type byName(const char* name);
87 
88  static Type byName(const char* name, const char* name_on_wire);
89 
90  static Type byNameOnWire(const char* name_on_wire);
91 
92  static Type anon();
93 
96 #ifndef DOXYGEN_SHOULD_SKIP_THIS
97 private:
98  class Private;
99  Private* mPriv;
100 #endif // DOXYGEN_SHOULD_SKIP_THIS
101 };
102 
103 } // namespace yarp::os
104 
105 #endif // YARP_OS_TYPE_H
A class for storing options and configuration information.
Definition: Property.h:33
A base class for nested structures that can be searched.
Definition: Searchable.h:63
A single value (typically within a Bottle).
Definition: Value.h:43
std::string toString(const T &value)
convert an arbitrary type to string.
bool isValid()
Check if time is valid (non-zero).
Definition: Time.cpp:314
An interface to the operating system, including Port based communication.
#define YARP_os_API
Definition: api.h:18