Decentralised Art Server
High-performance C++ backend that exposes HTML interface and a secure REST API for managing Performative Transactions entities
Loading...
Searching...
No Matches
route_arg.hpp File Reference
#include <string>
#include <format>
#include <cassert>
#include <tuple>
#include <vector>
#include <list>
#include <memory>
#include <type_traits>
#include <spdlog/spdlog.h>
#include "parse_error.hpp"

Go to the source code of this file.

Classes

struct  dcn::server::RouteArgDef
 A pair of RouteArgType and RouteArgRequirement. More...
class  dcn::server::RouteArg
 A class representing a route argument. More...
struct  dcn::parse::is_tuple_like_impl< T >
struct  dcn::parse::is_tuple_like_impl< std::tuple< Ts... > >
struct  dcn::parse::is_tuple_like_impl< std::pair< T1, T2 > >
struct  dcn::parse::TupleParser< TupleT, 2 >
struct  dcn::parse::TupleParser< TupleT, 3 >
struct  dcn::parse::TupleParser< TupleT, 4 >
struct  std::formatter< dcn::server::RouteArgType >
struct  std::formatter< dcn::server::RouteArgRequirement >
struct  std::formatter< dcn::server::RouteArg >

Namespaces

namespace  dcn
namespace  dcn::server
namespace  dcn::parse

Concepts

concept  dcn::parse::HasValueTypeAndIterator
concept  dcn::parse::IsSequenceContainer
concept  dcn::parse::IsTupleLike

Enumerations

enum class  dcn::server::RouteArgType {
  dcn::server::Unknown = 0 , dcn::server::character , dcn::server::unsigned_integer , dcn::server::base58 ,
  dcn::server::string , dcn::server::array , dcn::server::object
}
 Enum to represent the type of a route argument. More...
enum class  dcn::server::RouteArgRequirement { dcn::server::Unknown = 0 , dcn::server::optional , dcn::server::required }
 Enum to represent the requirement of a route argument. More...

Functions

server::RouteArgType dcn::parse::parseRouteArgTypeFromString (const std::string &str)
 Parses a string to a RouteArgType.
parse::Result< server::RouteArgDefdcn::parse::parseRouteArgDefFromString (const std::string str)
 Parses a string to a RouteArgDef.
template<class T>
requires (!IsSequenceContainer<T> && !IsTupleLike<T>)
parse::Result< T > dcn::parse::parseRouteArgAs (const server::RouteArg &arg)
template<>
parse::Result< std::size_t > dcn::parse::parseRouteArgAs< std::size_t > (const server::RouteArg &arg)
 Parses a RouteArg as a unsigned integer.
template<>
parse::Result< std::uint32_t > dcn::parse::parseRouteArgAs< std::uint32_t > (const server::RouteArg &arg)
 Parses a RouteArg as a 32bit unsigned integer.
template<>
parse::Result< std::string > dcn::parse::parseRouteArgAs< std::string > (const server::RouteArg &arg)
 Parses a RouteArg as a string.
template<IsTupleLike TupleT>
parse::Result< TupleT > dcn::parse::parseRouteArgAs (const server::RouteArg &arg)
template<IsSequenceContainer ContainerT>
parse::Result< ContainerT > dcn::parse::parseRouteArgAs (const server::RouteArg &arg)