easy_parser_router.hpp File Reference

A router based on easy_parser. More...

`#include <restinio/router/impl/target_path_holder.hpp>`
`#include <restinio/router/non_matched_request_handler.hpp>`
`#include <restinio/router/method_matcher.hpp>`
`#include <restinio/helpers/easy_parser.hpp>`
`#include <vector>`

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 = std::unique_ptr< router_entry_t< Extra_Data > >
| An alias for unique_ptr of router_entry. More...
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 = generic_easy_parser_router_t< no_extra_data_factory_t >
| A request router that uses easy_parser for matching requests with handlers. More...

## 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. More...
template<typename... Args>
RESTINIO_NODISCARD 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. More...
template<typename... Args>
RESTINIO_NODISCARD 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. More...
RESTINIO_NODISCARD 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. More...
template<typename Unescape_Traits = restinio::utils::restinio_default_unescape_traits>
RESTINIO_NODISCARD auto | restinio::router::easy_parser_router::unescape ()
| A factory for unescape_transformer. More...

## Detailed Description

A router based on easy_parser.

Since
  v.0.6.6

Definition in file easy_parser_router.hpp.