diff --git a/include/quicr/namespace.h b/include/quicr/namespace.h index 00616e0..c0072cd 100644 --- a/include/quicr/namespace.h +++ b/include/quicr/namespace.h @@ -5,26 +5,25 @@ #include #include -namespace quicr { +namespace quicr +{ /** * @brief A prefix for a quicr::Name */ class Namespace { - static constexpr Name mask(const Name& name, uint8_t sig_bits) + static constexpr Name mask(const Name &name, uint8_t sig_bits) { return name & ~(~0x0_name >> sig_bits); } public: Namespace() = default; - constexpr Namespace(const Namespace& ns) = default; - Namespace(Namespace&& ns) = default; + constexpr Namespace(const Namespace &ns) = default; + Namespace(Namespace &&ns) = default; - constexpr Namespace(Name name, uint8_t sig_bits) - : _name{ mask(name, sig_bits) } - , _sig_bits{ sig_bits } + constexpr Namespace(Name name, uint8_t sig_bits) : _name{mask(name, sig_bits)}, _sig_bits{sig_bits} { } @@ -37,69 +36,75 @@ class Namespace _sig_bits = std::atoi(str.data()); } - constexpr Namespace& operator=(const Namespace& other) = default; - Namespace& operator=(Namespace&& other) = default; + constexpr Namespace &operator=(const Namespace &other) = default; + Namespace &operator=(Namespace &&other) = default; - constexpr bool contains(const Name& name) const + constexpr bool contains(const Name &name) const { return mask(name, _sig_bits) == _name; } - constexpr bool contains(const Namespace& prefix) const + constexpr bool contains(const Namespace &prefix) const { return contains(prefix._name); } - constexpr Name name() const { return _name; } + constexpr Name name() const + { + return _name; + } - constexpr uint8_t length() const { return _sig_bits; } + constexpr uint8_t length() const + { + return _sig_bits; + } std::string to_hex() const { return _name.to_hex() + "/" + std::to_string(_sig_bits); } - friend constexpr bool operator==(const Namespace& a, const Namespace& b) + friend constexpr bool operator==(const Namespace &a, const Namespace &b) { return a._name == b._name && a._sig_bits == b._sig_bits; } - friend constexpr bool operator!=(const Namespace& a, const Namespace& b) + friend constexpr bool operator!=(const Namespace &a, const Namespace &b) { return !(a == b); } - friend constexpr bool operator>(const Namespace& a, const Namespace& b) + friend constexpr bool operator>(const Namespace &a, const Namespace &b) { return a._name > b._name; } - friend constexpr bool operator>(const Namespace& a, const Name& b) + friend constexpr bool operator>(const Namespace &a, const Name &b) { - return a._name > quicr::Namespace{ b, a._sig_bits }; + return a._name > quicr::Namespace{b, a._sig_bits}; } - friend constexpr bool operator>(const Name& a, const Namespace& b) + friend constexpr bool operator>(const Name &a, const Namespace &b) { - return quicr::Namespace{ a, b._sig_bits } > b._name; + return quicr::Namespace{a, b._sig_bits} > b._name; } - friend constexpr bool operator<(const Namespace& a, const Namespace& b) + friend constexpr bool operator<(const Namespace &a, const Namespace &b) { return a._name < b._name; } - friend constexpr bool operator<(const Namespace& a, const Name& b) + friend constexpr bool operator<(const Namespace &a, const Name &b) { - return a._name < quicr::Namespace{ b, a._sig_bits }; + return a._name < quicr::Namespace{b, a._sig_bits}; } - friend constexpr bool operator<(const Name& a, const Namespace& b) + friend constexpr bool operator<(const Name &a, const Namespace &b) { - return quicr::Namespace{ a, b._sig_bits } < b._name; + return quicr::Namespace{a, b._sig_bits} < b._name; } - friend std::ostream& operator<<(std::ostream& os, const Namespace& ns) + friend std::ostream &operator<<(std::ostream &os, const Namespace &ns) { return os << ns.to_hex(); } @@ -109,26 +114,28 @@ class Namespace uint8_t _sig_bits; }; -template class Comp> +template