12template <
unsigned int N>
class UUIDPath {
17 UUIDPath(
const UUID &uu) : path({uu, uu})
20 UUIDPath(
const UUID &uu0,
const UUID &uu1) : path({uu0, uu1})
23 UUIDPath(
const UUID &uu0,
const UUID &uu1,
const UUID &uu2) : path({uu0, uu1, uu2})
35 path[0] = str.substr(0, 36);
36 path[1] = str.substr(37, 36);
43 operator std::string()
const
49 return (std::string)path[0] +
"/" + (std::string)path[1];
54 for (
unsigned int i(0); i < N; i++) {
55 if (path[i] < other.path[i]) {
58 if (path[i] > other.path[i]) {
64 bool operator==(
const UUIDPath<N> &other)
const
66 for (
unsigned int i(0); i < N; i++) {
67 if (path[i] != other.path[i]) {
73 const UUID &at(
unsigned int i)
const
79 std::array<UUID, 3> path;