13inline constexpr char kPathSeparator =
'.';
14inline constexpr char kPathRoot[] =
"/";
15inline constexpr char kPathPrefixSeparator[] =
":/";
20void AppendPath(std::string& path, std::string_view key);
21void AppendPath(std::string& path, std::size_t index);
23std::string MakeChildPath(std::string_view parent, std::string_view key);
24std::string MakeChildPath(std::string&& parent, std::string_view key);
26std::string MakeChildPath(std::string_view parent, std::size_t index);
27std::string MakeChildPath(std::string&& parent, std::size_t index);
37 std::string ToString()
const;
38 std::string_view ToStringView()
const;
40 Path MakeChildPath(std::string_view key)
const;
41 Path MakeChildPath(std::size_t index)
const;
43 static Path WithPrefix(std::string path_prefix);
46 explicit Path(std::string path);