13 static constexpr std::string_view::value_type
separator =
'/';
29 current_ = remaining_.substr(0, remaining_.find(
separator));
30 remaining_ = current_.size() == remaining_.size() ? std::string_view{} : remaining_.substr(current_.size()+1);
48 explicit Iterator(std::string_view path) :
50 remaining_{current_.size() == path.size() ? std::
string_view{} : path.
substr(current_.size()+1)}
53 std::string_view current_;
54 std::string_view remaining_;
66 return parsed_path_.empty();
71 return !parsed_path_.empty()
and parsed_path_.front() ==
separator;
74 operator std::string_view ()
const
91 std::string parsed_path_;
96struct std::hash<
osc::NodePath> final {
99 return std::hash<std::string_view>{}(node_path);
Definition node_path.h:15
std::forward_iterator_tag iterator_category
Definition node_path.h:21
reference operator*() const
Definition node_path.h:23
const std::string_view & reference
Definition node_path.h:20
std::string_view value_type
Definition node_path.h:18
friend bool operator==(const Iterator &, const Iterator &)=default
ptrdiff_t difference_type
Definition node_path.h:17
Iterator & operator++()
Definition node_path.h:27
const std::string_view * pointer
Definition node_path.h:19
Iterator operator++(int)
Definition node_path.h:34
pointer operator->() const
Definition node_path.h:25
Definition node_path.h:11
bool is_absolute() const
Definition node_path.h:69
Iterator begin() const
Definition node_path.h:79
Iterator end() const
Definition node_path.h:84
bool empty() const
Definition node_path.h:64
operator std::string_view() const
Definition node_path.h:74
NodePath(std::string_view)
static constexpr std::string_view::value_type separator
Definition node_path.h:13
std::string_view value_type
Definition node_path.h:57
friend bool operator==(const NodePath &, const NodePath &)=default
Definition custom_decoration_generator.h:5
constexpr U to(T &&value)
Definition conversion.h:56
and
Definition algorithms.h:158
size_t operator()(const osc::NodePath &node_path) const noexcept
Definition node_path.h:97