Nexus HTTP/3
A QUIC and HTTP/3 library
Public Types | Public Member Functions | Static Public Member Functions | Related Functions | List of all members
nexus::quic::connection_id Class Reference

an opaque connection id string More...

#include <nexus/quic/connection_id.hpp>

Public Types

using value_type = unsigned char
 
using size_type = std::uint_fast8_t
 
using difference_type = std::ptrdiff_t
 
using reference = value_type &
 
using const_reference = const value_type &
 
using pointer = value_type *
 
using const_pointer = const value_type *
 
using iterator = pointer
 
using const_iterator = const_pointer
 
using reverse_iterator = std::reverse_iterator< iterator >
 
using const_reverse_iterator = std::reverse_iterator< const_iterator >
 

Public Member Functions

constexpr connection_id () noexcept
 default-construct an empty connection id
 
template<size_t Size>
constexpr connection_id (const value_type(&data)[Size]) noexcept
 construct with a copy of the given array
 
template<size_t Size>
constexpr connection_id (const std::array< value_type, Size > &data) noexcept
 construct with a copy of the given array
 
constexpr connection_id (const_pointer data, size_type size)
 construct with a copy of the given string. throws std::length_error if size exceeds max_size()
 
constexpr connection_id (const connection_id &) noexcept=default
 construct with a copy of the given connection id
 
constexpr connection_idoperator= (const connection_id &) noexcept=default
 overwrite with a copy of the given connection id
 
constexpr bool empty () const noexcept
 return true if empty
 
constexpr size_type size () const
 return the size
 
constexpr void resize (size_type size)
 resize the connection id
 
constexpr reference at (size_type p)
 return a reference to the element at the given position. throws std::out_of_range for invalid positions
 
constexpr const_reference at (size_type p) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
constexpr reference operator[] (size_type p)
 return a reference to the element at the given position without bounds checking
 
constexpr const_reference operator[] (size_type p) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
constexpr reference front ()
 return a reference to the first element
 
constexpr const_reference front () const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
constexpr reference back ()
 return a reference to the last element
 
constexpr const_reference back () const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
constexpr pointer data ()
 return a pointer to the underlying bytes
 
constexpr const_pointer data () const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
constexpr iterator begin ()
 return an iterator to the beginning
 
constexpr const_iterator begin () const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
constexpr const_iterator cbegin () const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
constexpr iterator end ()
 return an iterator past the end
 
constexpr const_iterator end () const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
constexpr const_iterator cend () const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
constexpr reverse_iterator rbegin ()
 return a reverse iterator to the beginning
 
constexpr const_reverse_iterator rbegin () const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
constexpr const_reverse_iterator crbegin () const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
constexpr reverse_iterator rend ()
 return a reverse iterator to the endning
 
constexpr const_reverse_iterator rend () const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
constexpr const_reverse_iterator crend () const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 

Static Public Member Functions

constexpr static size_type max_size ()
 return the maximum size
 

Related Functions

(Note that these are not member functions.)

bool operator== (const connection_id &l, const connection_id &r) noexcept
 equality comparison for connection_ids
 
bool operator!= (const connection_id &l, const connection_id &r) noexcept
 inequality comparison for connection_ids
 
bool operator< (const connection_id &l, const connection_id &r) noexcept
 less-than comparison for connection_ids
 
bool operator> (const connection_id &l, const connection_id &r) noexcept
 greater-than comparison for connection_ids
 
bool operator<= (const connection_id &l, const connection_id &r) noexcept
 less-than-or-equal comparison for connection_ids
 
bool operator>= (const connection_id &l, const connection_id &r) noexcept
 greater-than-or-equal comparison for connection_ids
 
void swap (connection_id &lhs, connection_id &rhs) noexcept
 swap two connection_ids
 

Detailed Description

an opaque connection id string