Go to the documentation of this file.
9 #ifndef RTCTK_COMPONENTFRAMEWORK_DATAPOINTPATH_HPP
10 #define RTCTK_COMPONENTFRAMEWORK_DATAPOINTPATH_HPP
17 #include <string_view>
18 #include <type_traits>
20 #include <mal/utility/Uri.hpp>
37 using ::elt::error::CiiBaseException::CiiBaseException;
74 const std::string&
ToString() const noexcept;
95 operator
std::
string() const noexcept;
130 friend
bool operator==(const
DataPointPath& lhs, const
char * rhs) noexcept;
131 friend
bool operator!=(const
DataPointPath& lhs, const
char * rhs) noexcept {
return !(lhs==rhs);}
158 const static std::regex regex_valid_chars;
160 static bool ValidPath(
const std::string& path);
167 const static char VALID_CHARACTERS[];
170 DataPointPath
operator"" _dppath (
const char* str, std::size_t len);
175 return lhs.path == rhs;
179 return lhs.path == rhs;
183 return lhs.path == rhs.path;
201 this->path += rhs.path;
206 this->path +=
"/"+rhs.path;
210 inline DataPointPath operator"" _dppath (
const char* str, std::size_t len) {
214 inline DataPointPath::operator std::string() const noexcept{
225 #endif // RTCTK_COMPONENTFRAMEWORK_DATAPOINTPATH_HPP
Provides macros and utilities for exception handling.
DataPointPath(DataPointPath &&)=default
DataPointPath operator/(DataPointPath lhs, const DataPointPath &rhs)
Definition: dataPointPath.hpp:191
friend std::istream & operator>>(std::istream &input, DataPointPath &path)
Definition: dataPointPath.cpp:64
Base class for the exceptions.
Definition: exceptions.hpp:345
DataPointPath & operator=(DataPointPath &&)=default
Definition: rtcComponent.hpp:17
::elt::mal::Uri ToRepositoryURI(const ::elt::mal::Uri base_uri) const
Return URI.
Definition: dataPointPath.cpp:56
friend bool operator==(const char *lhs, const DataPointPath &rhs) noexcept
Definition: dataPointPath.hpp:140
string path
Definition: rtctkExampleDataTaskRobotTest.py:228
const std::string & ToString() const noexcept
Definition: dataPointPath.hpp:196
virtual ~DataPointPath()=default
DataPointPath & operator=(const DataPointPath &)=default
friend bool operator!=(const DataPointPath &lhs, const std::string &rhs) noexcept
Definition: dataPointPath.hpp:134
DataPointPath(const DataPointPath &)=default
friend bool operator==(const DataPointPath &lhs, const char *rhs) noexcept
Definition: dataPointPath.hpp:174
friend bool operator==(const std::string &lhs, const DataPointPath &rhs) noexcept
Definition: dataPointPath.hpp:143
InvalidPathException(const std::string &path)
Definition: dataPointPath.cpp:14
DataPointPath & operator+=(const DataPointPath &rhs)
Append another DataPointPath to this DataPointPath without adding a path seperator.
Definition: dataPointPath.hpp:200
friend bool operator!=(const char *lhs, const DataPointPath &rhs) noexcept
Definition: dataPointPath.hpp:141
Definition: dataPointPath.hpp:35
std::ostream & operator<<(std::ostream &out, const DataPointPath &rhs)
Definition: dataPointPath.hpp:218
Definition: mudpiProcessingError.hpp:109
friend bool operator!=(const std::string &lhs, const DataPointPath &rhs) noexcept
Definition: dataPointPath.hpp:144
DataPointPath(const char *const new_path)
Create DataPointPath from a const char *.
Definition: dataPointPath.hpp:69
friend bool operator!=(const DataPointPath &lhs, const DataPointPath &rhs) noexcept
Definition: dataPointPath.hpp:137
Definition: dataPointPath.hpp:30
DataPointPath & operator/=(const DataPointPath &rhs)
Append another DataPointPath to this DataPointPath with a path seperator inbetween.
Definition: dataPointPath.hpp:205
bool operator==(const DataPointPath &lhs, const char *rhs) noexcept
Definition: dataPointPath.hpp:174
DataPointPath operator+(DataPointPath lhs, const DataPointPath &rhs)
Definition: dataPointPath.hpp:186