mod_servlet
C++Servlets
 All Classes Files Functions Variables Typedefs Macros Pages
uri.h File Reference

Contains definition of URI class and related structures and operations. More...

#include <string>
#include <iostream>
#include <iterator>
#include <vector>
#include <functional>
#include <experimental/string_view>
#include <servlet/lib/exception.h>

Go to the source code of this file.

Classes

struct  servlet::uri_syntax_error
 Exception thrown while parsing URI if syntax error encountered. More...
 
struct  servlet::uri_builder_error
 Exception thrown when it is impossible to build URI from parts. More...
 
class  servlet::URI
 Represents a Uniform Resource Identifier (URI) reference. More...
 

Functions

template<typename CharT , typename Traits >
std::basic_ostream< CharT,
Traits > & 
servlet::operator<< (std::basic_ostream< CharT, Traits > &out, const URI &uri)
 Output streaming operator overload for URI class objects. More...
 
bool servlet::operator== (const URI &uri1, const URI &uri2) noexcept
 Overloaded equality operator for URI objects. More...
 
bool servlet::operator== (const URI &uri1, const URI::string_type &uri2) noexcept
 Helper comparison method: uri1.string() == uri2;. More...
 
bool servlet::operator== (const URI::string_type &uri1, const URI &uri2) noexcept
 Helper comparison method: uri1 == uri2.string();. More...
 
bool servlet::operator== (const URI &uri1, const URI::string_view &uri2) noexcept
 Helper comparison method: uri1.uri_view() == uri2;. More...
 
bool servlet::operator== (const URI::string_view &uri1, const URI &uri2) noexcept
 Helper comparison method: uri1 == uri2.uri_view();. More...
 
bool servlet::operator!= (const URI &uri1, const URI &uri2) noexcept
 Overloaded not equality operator for URI objects. More...
 
bool servlet::operator!= (const URI &uri1, const URI::string_type &uri2) noexcept
 Helper comparison method: uri1.string() != uri2;. More...
 
bool servlet::operator!= (const URI::string_type &uri1, const URI &uri2) noexcept
 Helper comparison method: uri1 != uri2.string();. More...
 
bool servlet::operator!= (const URI &uri1, const URI::string_view &uri2) noexcept
 Helper comparison method: uri1.uri_view() != uri2;. More...
 
bool servlet::operator!= (const URI::string_view &uri1, const URI &uri2) noexcept
 Helper comparison method: uri1 != uri2.uri_view();. More...
 
bool servlet::operator< (const URI &uri1, const URI &uri2) noexcept
 Overloaded less-than operator for URI objects. More...
 
bool servlet::operator< (const URI &uri1, const URI::string_type &uri2) noexcept
 Helper comparison method: uri1.string() < uri2;. More...
 
bool servlet::operator< (const URI::string_type &uri1, const URI &uri2) noexcept
 Helper comparison method: uri1 < uri2.string();. More...
 
bool servlet::operator< (const URI &uri1, const URI::string_view &uri2) noexcept
 Helper comparison method: uri1.uri_view() < uri2;. More...
 
bool servlet::operator< (const URI::string_view &uri1, const URI &uri2) noexcept
 Helper comparison method: uri1 < uri2.uri_view();. More...
 
bool servlet::operator> (const URI &uri1, const URI &uri2) noexcept
 Overloaded greater-than operator for URI objects. More...
 
bool servlet::operator> (const URI &uri1, const URI::string_type &uri2) noexcept
 Helper comparison method: uri1.string() > uri2;. More...
 
bool servlet::operator> (const URI::string_type &uri1, const URI &uri2) noexcept
 Helper comparison method: uri1 > uri2.string();. More...
 
bool servlet::operator> (const URI &uri1, const URI::string_view &uri2) noexcept
 Helper comparison method: uri1.uri_view() > uri2;. More...
 
bool servlet::operator> (const URI::string_view &uri1, const URI &uri2) noexcept
 Helper comparison method: uri1 > uri2.uri_view();. More...
 
bool servlet::operator<= (const URI &uri1, const URI &uri2) noexcept
 Overloaded less-or-equals operator for URI objects. More...
 
bool servlet::operator<= (const URI &uri1, const URI::string_type &uri2) noexcept
 Helper comparison method: uri1.string() <= uri2;. More...
 
bool servlet::operator<= (const URI::string_type &uri1, const URI &uri2) noexcept
 Helper comparison method: uri1 <= uri2.string();. More...
 
bool servlet::operator<= (const URI &uri1, const URI::string_view &uri2) noexcept
 Helper comparison method: uri1.uri_view() <= uri2;. More...
 
bool servlet::operator<= (const URI::string_view &uri1, const URI &uri2) noexcept
 Helper comparison method: uri1 <= uri2.uri_view();. More...
 
bool servlet::operator>= (const URI &uri1, const URI &uri2) noexcept
 Overloaded greater-or-equals operator for URI objects. More...
 
bool servlet::operator>= (const URI &uri1, const URI::string_type &uri2) noexcept
 Helper comparison method: uri1.string() >= uri2;. More...
 
bool servlet::operator>= (const URI::string_type &uri1, const URI &uri2) noexcept
 Helper comparison method: uri1 >= uri2.string();. More...
 
bool servlet::operator>= (const URI &uri1, const URI::string_view &uri2) noexcept
 Helper comparison method: uri1.uri_view() >= uri2;. More...
 
bool servlet::operator>= (const URI::string_view &uri1, const URI &uri2) noexcept
 Helper comparison method: uri1 >= uri2.uri_view();. More...
 
void servlet::swap (URI &lhs, URI &rhs) noexcept
 Overloaded swap function of URI class objects. More...
 

Detailed Description

Contains definition of URI class and related structures and operations.

Definition of URI class and related functions