7#ifndef YARP_OS_SEARCHABLE_H
8#define YARP_OS_SEARCHABLE_H
22#ifndef DOXYGEN_SHOULD_SKIP_THIS
34 explicit SearchReport();
40 virtual ~SearchMonitor();
41 virtual void report(
const SearchReport& report,
const char* context) = 0;
58 SearchMonitor* monitor;
98 virtual bool check(
const std::string& key)
const = 0;
108 virtual bool check(
const std::string& key,
109 const std::string& comment)
const;
144 Bottle&
findGroup(
const std::string& key,
const std::string& comment)
const;
171 virtual bool check(
const std::string& key,
173 const std::string& comment =
"")
const;
185 virtual Value check(
const std::string& key,
186 const Value& fallback,
187 const std::string& comment =
"")
const;
193 virtual bool isNull()
const;
204#ifndef DOXYGEN_SHOULD_SKIP_THIS
205 virtual void setMonitor(SearchMonitor* monitor,
const char* context =
"");
206 virtual SearchMonitor* getMonitor()
const;
207 virtual std::string getMonitorContext()
const;
208 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.
Searchable(const Searchable &rhs)=default
Copy constructor.
Searchable(Searchable &&rhs) noexcept=default
Move constructor.
Searchable & operator=(Searchable &&rhs) noexcept=default
Move 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 Value & find(const std::string &key) const =0
Gets a value corresponding to a given keyword.
Searchable & operator=(const Searchable &rhs)=default
Copy assignment operator.
virtual Bottle & findGroup(const std::string &key) const =0
Gets a list corresponding to a given keyword.
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.