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
32 #ifndef DOXYGEN_SHOULD_SKIP_THIS
44 explicit SearchReport();
50 virtual ~SearchMonitor();
51 virtual void report(
const SearchReport& report,
const char* context) = 0;
68 SearchMonitor* monitor;
108 virtual bool check(
const std::string& key)
const = 0;
118 virtual bool check(
const std::string& key,
119 const std::string& comment)
const;
154 Bottle&
findGroup(
const std::string& key,
const std::string& comment)
const;
181 virtual bool check(
const std::string& key,
183 const std::string& comment =
"")
const;
195 virtual Value check(
const std::string& key,
196 const Value& fallback,
197 const std::string& comment =
"")
const;
203 virtual bool isNull()
const;
214 #ifndef DOXYGEN_SHOULD_SKIP_THIS
215 virtual void setMonitor(SearchMonitor* monitor,
const char* context =
"");
216 virtual SearchMonitor* getMonitor()
const;
217 virtual std::string getMonitorContext()
const;
218 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).
std::string findGroup(const robotinterface::ParamList &list, const std::string &name)
The main, catch-all namespace for YARP.
#define YARP_SUPPRESS_DLL_INTERFACE_WARNING_ARG(x)
Suppress MSVC C4251 warning for the declaration.