7 #ifndef YARP_OS_SEARCHABLE_H
8 #define YARP_OS_SEARCHABLE_H
15 #ifndef YARP_NO_DEPRECATED
16 #define YARP_INCLUDING_DEPRECATED_HEADER_ON_PURPOSE
18 #undef YARP_INCLUDING_DEPRECATED_HEADER_ON_PURPOSE
29 #ifndef DOXYGEN_SHOULD_SKIP_THIS
41 explicit SearchReport();
47 virtual ~SearchMonitor();
48 virtual void report(
const SearchReport& report,
const char* context) = 0;
65 SearchMonitor* monitor;
105 virtual bool check(
const std::string& key)
const = 0;
115 virtual bool check(
const std::string& key,
116 const std::string& comment)
const;
151 Bottle&
findGroup(
const std::string& key,
const std::string& comment)
const;
178 virtual bool check(
const std::string& key,
180 const std::string& comment =
"")
const;
192 virtual Value check(
const std::string& key,
193 const Value& fallback,
194 const std::string& comment =
"")
const;
200 virtual bool isNull()
const;
211 #ifndef DOXYGEN_SHOULD_SKIP_THIS
212 virtual void setMonitor(SearchMonitor* monitor,
const char* context =
"");
213 virtual SearchMonitor* getMonitor()
const;
214 virtual std::string getMonitorContext()
const;
215 virtual void reportToMonitor(
const SearchReport& report)
const;
A simple collection of objects that can be described and transmitted in a portable way.
A base class for nested structures that can be searched.
virtual Value & find(const std::string &key) const =0
Gets a value corresponding to a given keyword.
Searchable(const Searchable &rhs)=default
Copy constructor.
Searchable(Searchable &&rhs) noexcept=default
Move constructor.
Searchable & operator=(const Searchable &rhs)=default
Copy assignment operator.
virtual ~Searchable()
Destructor.
virtual bool check(const std::string &key) const =0
Check if there exists a property of the given name.
virtual std::string toString() const =0
Return a standard text representation of the content of the object.
virtual Bottle & findGroup(const std::string &key) const =0
Gets a list corresponding to a given keyword.
Searchable & operator=(Searchable &&rhs) noexcept=default
Move assignment operator.
A single value (typically within a Bottle).
An interface to the operating system, including Port based communication.
std::string findGroup(const robotinterface::ParamList &list, const std::string &name)
#define YARP_SUPPRESS_DLL_INTERFACE_WARNING_ARG(x)
Suppress MSVC C4251 warning for the declaration.