RESTinio
Loading...
Searching...
No Matches
easy_parser_router.hpp File Reference

A router based on easy_parser. More...

Go to the source code of this file.

Classes

struct  restinio::router::easy_parser_router::impl::no_match_t
 Helper type to indicate a negative match attempt. More...
class  restinio::router::easy_parser_router::impl::router_entry_t< Extra_Data >
 An interface for one entry of easy_parser-based router. More...
class  restinio::router::easy_parser_router::impl::actual_router_entry_t< Extra_Data, Producer, Handler >
 An actual implementation of router_entry interface. More...
struct  restinio::router::easy_parser_router::impl::unescape_transformer_t< Unescape_Traits >
 A transformer that performs percent-unescaping of an input string. More...
class  restinio::router::easy_parser_router::impl::special_produce_tuple_item_clause_t< Producer, Index >
 A special case of produce-consume clause where the produced value is stored into a tuple. More...
class  restinio::router::easy_parser_router::impl::special_exact_fixed_size_fragment_clause_t< Size >
 A special clause type for case when exact_fixed_size_fragment_producer should be used without storing its value. More...
class  restinio::router::easy_parser_router::impl::special_exact_fragment_clause_t
 A special clause type for case when exact_fragment_producer should be used without storing its value. More...
struct  restinio::router::easy_parser_router::impl::dsl_details::add_type_if_necessary_impl< H, To< Results... >, false >
struct  restinio::router::easy_parser_router::impl::dsl_details::add_type_if_necessary_impl< H, To< Results... >, true >
struct  restinio::router::easy_parser_router::impl::dsl_details::add_type_if_necessary< H, R >
struct  restinio::router::easy_parser_router::impl::dsl_details::result_tuple_detector< From< Sources... >, To< Results... > >
struct  restinio::router::easy_parser_router::impl::dsl_details::result_tuple_detector< From<>, To< Results... > >
struct  restinio::router::easy_parser_router::impl::dsl_details::detect_result_tuple< Args_Type_List >
struct  restinio::router::easy_parser_router::impl::dsl_details::one_clause_type_processor< T, Is_Producer, Current_Index >
struct  restinio::router::easy_parser_router::impl::dsl_details::one_clause_type_processor< const char[Size], false, Current_Index >
struct  restinio::router::easy_parser_router::impl::dsl_details::one_clause_type_processor< std::string, false, Current_Index >
struct  restinio::router::easy_parser_router::impl::dsl_details::one_clause_type_processor< string_view_t, false, Current_Index >
struct  restinio::router::easy_parser_router::impl::dsl_details::one_clause_type_processor< T, true, Current_Index >
struct  restinio::router::easy_parser_router::impl::dsl_details::clauses_type_maker< From< Sources... >, To< Results... >, Current_Index >
struct  restinio::router::easy_parser_router::impl::dsl_details::clauses_type_maker< From<>, To< Results... >, Current_Index >
struct  restinio::router::easy_parser_router::impl::dsl_details::make_clauses_types< Args_Type_List >
struct  restinio::router::easy_parser_router::impl::dsl_details::special_decay< T >
 A special analog of std::decay meta-function that is handles array differently. More...
struct  restinio::router::easy_parser_router::impl::dsl_processor< Args >
 The main meta-function for processing route DSL. More...
class  restinio::router::easy_parser_router::impl::path_to_tuple_producer_t< Target_Type, Subitems_Tuple >
 An implementation of a producer for path_to_tuple case. More...
class  restinio::router::easy_parser_router::impl::path_to_params_producer_t< Target_Type, Subitems_Tuple >
 An implementation of a producer for path_to_params case. More...
class  restinio::router::generic_easy_parser_router_t< Extra_Data_Factory >
 A generic request router that uses easy_parser for matching requests with handlers. More...

Namespaces

namespace  restinio
namespace  restinio::router
namespace  restinio::router::easy_parser_router
namespace  restinio::router::easy_parser_router::impl
namespace  restinio::router::easy_parser_router::impl::dsl_details
namespace  restinio::router::easy_parser_router::impl::path_to_params_details

Typedefs

using restinio::router::easy_parser_router::impl::target_path_holder_t = restinio::router::impl::target_path_holder_t
template<typename Extra_Data>
using restinio::router::easy_parser_router::impl::router_entry_unique_ptr_t
 An alias for unique_ptr of router_entry.
template<typename Args_Type_List>
using restinio::router::easy_parser_router::impl::dsl_details::detect_result_tuple_t = typename detect_result_tuple<Args_Type_List>::type
template<typename Args_Type_List>
using restinio::router::easy_parser_router::impl::dsl_details::make_clauses_types_t = typename make_clauses_types<Args_Type_List>::type
using restinio::router::easy_parser_router_t
 A request router that uses easy_parser for matching requests with handlers.

Functions

template<typename F, typename Extra_Data, typename Tuple, std::size_t... Indexes>
decltype(auto) restinio::router::easy_parser_router::impl::path_to_params_details::call_with_tuple_impl (F &&what, const generic_request_handle_t< Extra_Data > &req, Tuple &&params, std::index_sequence< Indexes... >)
template<typename F, typename Extra_Data, typename Tuple>
decltype(auto) restinio::router::easy_parser_router::impl::path_to_params_details::call_with_tuple (F &&what, const generic_request_handle_t< Extra_Data > &req, Tuple &&params)
 A helper function to call a request-handler with a tuple.
template<typename... Args>
auto restinio::router::easy_parser_router::path_to_tuple (Args &&...args)
 Describe a route for a handler that accepts params from the route in form of a tuple.
template<typename... Args>
auto restinio::router::easy_parser_router::path_to_params (Args &&...args)
 Describe a route for a handler that accepts params from the route in form of a list of separate arguments.
auto restinio::router::easy_parser_router::path_fragment_p (char separator='/')
 A factory that creates a string-producer that extracts a sequence on symbols until the separator will be found.
template<typename Unescape_Traits = restinio::utils::restinio_default_unescape_traits>
auto restinio::router::easy_parser_router::unescape ()
 A factory for unescape_transformer.

Detailed Description

A router based on easy_parser.

Since
v.0.6.6

Definition in file easy_parser_router.hpp.