13#ifndef RTCTK_COMPONENTFRAMEWORK_DATAPOINTPATH_HPP
14#define RTCTK_COMPONENTFRAMEWORK_DATAPOINTPATH_HPP
20#include <fmt/format.h>
21#include <mal/utility/Uri.hpp>
122 const std::string& ToString() const noexcept;
146 operator std::
string() const noexcept;
200 friend std::ostream& operator<<(std::ostream& out, const
DataPointPath& rhs);
203 friend
bool operator==(const
DataPointPath& lhs, const
char* rhs) noexcept;
204 friend
bool operator!=(const
DataPointPath& lhs, const
char* rhs) noexcept {
205 return !(lhs == rhs);
207 friend bool operator<(
const DataPointPath& lhs,
const char* rhs)
noexcept;
208 friend bool operator<=(
const DataPointPath& lhs,
const char* rhs)
noexcept;
214 return !(lhs == rhs);
216 friend bool operator<(
const DataPointPath& lhs,
const std::string& rhs)
noexcept;
217 friend bool operator<=(
const DataPointPath& lhs,
const std::string& rhs)
noexcept;
223 return !(lhs == rhs);
235 return !(rhs == lhs);
254 return !(rhs == lhs);
284 elt::mal::Uri ToRepositoryURI(
const elt::mal::Uri& base_uri)
const;
295 std::pair<DataPointPath, DataPointPath> Split()
const;
320 std::vector<DataPointPath> SplitAll()
const;
335 static elt::mal::Uri AppendSuffixToUriPath(
const std::string& suffix,
const elt::mal::Uri& uri);
343 RTCTK_LOCAL static bool ValidPath(
const std::string& path);
351 RTCTK_LOCAL const static std::regex REGEX_VALID_CHARS;
354RTCTK_API DataPointPath
operator"" _dppath(
const char*
str, std::size_t
len);
399 return lhs.m_path ==
rhs.m_path;
403 return lhs.m_path <
rhs.m_path;
407 return lhs.m_path <=
rhs.m_path;
411 return lhs.m_path >
rhs.m_path;
415 return lhs.m_path >=
rhs.m_path;
459struct RTCTK_API fmt::formatter<rtctk::componentFramework::DataPointPath>
460 : fmt::formatter<std::string> {
462 fmt::format_context& ctx) -> fmt::format_context::iterator;
Exception class used when an invalid character is used in a DataPointPath.
Definition dataPointPath.hpp:80
This class provides a wrapper for a data point path.
Definition dataPointPath.hpp:74
friend bool operator!=(const DataPointPath &lhs, const DataPointPath &rhs) noexcept
Definition dataPointPath.hpp:222
friend bool operator<=(const std::string &lhs, const DataPointPath &rhs) noexcept
Definition dataPointPath.hpp:259
friend bool operator>=(const char *lhs, const DataPointPath &rhs) noexcept
Definition dataPointPath.hpp:246
friend bool operator>(const char *lhs, const DataPointPath &rhs) noexcept
Definition dataPointPath.hpp:243
friend bool operator<(const char *lhs, const DataPointPath &rhs) noexcept
Definition dataPointPath.hpp:237
friend bool operator!=(const std::string &lhs, const DataPointPath &rhs) noexcept
Definition dataPointPath.hpp:253
friend bool operator>=(const std::string &lhs, const DataPointPath &rhs) noexcept
Definition dataPointPath.hpp:265
friend bool operator!=(const char *lhs, const DataPointPath &rhs) noexcept
Definition dataPointPath.hpp:234
friend bool operator!=(const DataPointPath &lhs, const std::string &rhs) noexcept
Definition dataPointPath.hpp:213
friend bool operator<=(const char *lhs, const DataPointPath &rhs) noexcept
Definition dataPointPath.hpp:240
friend bool operator<(const std::string &lhs, const DataPointPath &rhs) noexcept
Definition dataPointPath.hpp:256
const std::string & ToString() const noexcept
Get string representing the DataPointPath.
Definition dataPointPath.hpp:428
friend bool operator>(const std::string &lhs, const DataPointPath &rhs) noexcept
Definition dataPointPath.hpp:262
DataPointPath(const char *const new_path)
Create DataPointPath from a null terminated character string.
Definition dataPointPath.hpp:116
DataPointPath & operator=(DataPointPath &&)=default
DataPointPath & operator=(const DataPointPath &)=default
DataPointPath(DataPointPath &&)=default
friend bool operator==(const std::string &lhs, const DataPointPath &rhs) noexcept
Definition dataPointPath.hpp:250
friend bool operator==(const char *lhs, const DataPointPath &rhs) noexcept
Definition dataPointPath.hpp:231
DataPointPath(const DataPointPath &)=default
The RtctkException class is the base class for all Rtctk exceptions.
Definition exceptions.hpp:211
Project-wide configuration header.
#define RTCTK_LOCAL
Helper to hide a class or function from the public symbol table.
Definition config.hpp:60
#define RTCTK_API
Helper to indicate that a class or function must be exported in the public symbol table.
Definition config.hpp:33
Provides macros and utilities for exception handling.
Defines the JSON payload type JsonPayload.
Definition ddsSub.hpp:151
Definition commandReplier.cpp:22
DataPointPath operator/(DataPointPath lhs, const DataPointPath &rhs)
Definition dataPointPath.hpp:423
void to_json(JsonPayload &j, const std::vector< DataPointPath > &v)
Definition dataPointPath.cpp:207
bool operator<(const DataPointPath &lhs, const char *rhs) noexcept
Definition dataPointPath.hpp:362
std::istream & operator>>(std::istream &input, DataPointPath &path)
Definition dataPointPath.cpp:193
bool operator>=(const DataPointPath &lhs, const char *rhs) noexcept
Definition dataPointPath.hpp:374
nlohmann::json JsonPayload
Type requirements:
Definition jsonPayload.hpp:25
bool operator<=(const DataPointPath &lhs, const char *rhs) noexcept
Definition dataPointPath.hpp:366
std::ostream & operator<<(std::ostream &out, const DataPointPath &rhs)
Definition dataPointPath.hpp:440
void from_json(const JsonPayload &j, std::vector< DataPointPath > &v)
Definition dataPointPath.cpp:217
elt::mal::future< std::string > InjectReqRepEvent(StateMachineEngine &engine)
Definition malEventInjector.hpp:23
bool operator==(const DataPointPath &lhs, const char *rhs) noexcept
Definition dataPointPath.hpp:358
DataPointPath operator+(DataPointPath lhs, const DataPointPath &rhs)
Definition dataPointPath.hpp:418
bool operator>(const DataPointPath &lhs, const char *rhs) noexcept
Definition dataPointPath.hpp:370
DataPointPath m_path
Definition populateConfig.cpp:165
auto format(const rtctk::componentFramework::DataPointPath &path, fmt::format_context &ctx) -> fmt::format_context::iterator