restinio::router::impl::route_matcher_t< Regex_Engine > Class Template Reference

A matcher for a given path. More...

`#include <express.hpp>`

## Public Types

using | regex_t = typename Regex_Engine::compiled_regex_t
using | match_results_t = typename Regex_Engine::match_results_t

## Public Member Functions

| route_matcher_t (http_method_id_t method, regex_t route_regex, std::shared_ptr< std::string > named_params_buffer, param_appender_sequence_t param_appender_sequence)
| Creates matcher with a given parameters. More...
template<typename Method_Matcher >
| route_matcher_t (Method_Matcher &&method_matcher, regex_t route_regex, std::shared_ptr< std::string > named_params_buffer, param_appender_sequence_t param_appender_sequence)
| route_matcher_t ()=default
| route_matcher_t (route_matcher_t &&)=default
bool | match_route (target_path_holder_t &target_path, route_params_t &parameters) const
| Try to match a given request target with this route. More...
bool | operator() (const http_request_header_t &h, target_path_holder_t &target_path, route_params_t &parameters) const

## Private Attributes

buffered_matcher_holder_t | m_method_matcher
| HTTP method to match. More...
regex_t | m_route_regex
| Regex of a given route. More...
std::shared_ptr< std::string > | m_named_params_buffer
| Buffer for named parameters names string views. More...
param_appender_sequence_t | m_param_appender_sequence
| Parameters values. More...

## Detailed Description

template<typename Regex_Engine = std_regex_engine_t>
class restinio::router::impl::route_matcher_t< Regex_Engine >

A matcher for a given path.

Definition at line 281 of file express.hpp.

## Member Typedef Documentation

## match_results_t

template<typename Regex_Engine = std_regex_engine_t>

using restinio::router::impl::route_matcher_t< Regex_Engine >::match_results_t = typename Regex_Engine::match_results_t

Definition at line 285 of file express.hpp.

## regex_t

template<typename Regex_Engine = std_regex_engine_t>

using restinio::router::impl::route_matcher_t< Regex_Engine >::regex_t = typename Regex_Engine::compiled_regex_t

Definition at line 284 of file express.hpp.

## Constructor & Destructor Documentation

## route_matcher_t() [1/4]

template<typename Regex_Engine = std_regex_engine_t>

restinio::router::impl::route_matcher_t< Regex_Engine >::route_matcher_t | ( | http_method_id_t | method,
|  | regex_t | route_regex,
|  | std::shared_ptr< std::string > | named_params_buffer,
|  | param_appender_sequence_t | param_appender_sequence
| ) |  |

inline

Creates matcher with a given parameters.

Definition at line 288 of file express.hpp.

## route_matcher_t() [2/4]

template<typename Regex_Engine = std_regex_engine_t>
template<typename Method_Matcher >

restinio::router::impl::route_matcher_t< Regex_Engine >::route_matcher_t | ( | Method_Matcher && | method_matcher,
|  | regex_t | route_regex,
|  | std::shared_ptr< std::string > | named_params_buffer,
|  | param_appender_sequence_t | param_appender_sequence
| ) |  |

inline

Creates matcher with a given parameters.

This constructor is intended for cases where method_matcher is specified as object of class derived from method_matcher_t.

Since
  v.0.6.6

Definition at line 309 of file express.hpp.

## route_matcher_t() [3/4]

template<typename Regex_Engine = std_regex_engine_t>

restinio::router::impl::route_matcher_t< Regex_Engine >::route_matcher_t | ( |  | ) |

default

## route_matcher_t() [4/4]

template<typename Regex_Engine = std_regex_engine_t>

restinio::router::impl::route_matcher_t< Regex_Engine >::route_matcher_t | ( | route_matcher_t< Regex_Engine > && |  | ) |

default

## Member Function Documentation

## match_route()

template<typename Regex_Engine = std_regex_engine_t>

bool restinio::router::impl::route_matcher_t< Regex_Engine >::match_route | ( | target_path_holder_t & | target_path,
|  | route_params_t & | parameters
| ) |  | const

inline

Try to match a given request target with this route.

Definition at line 328 of file express.hpp.

## operator()()

template<typename Regex_Engine = std_regex_engine_t>

bool restinio::router::impl::route_matcher_t< Regex_Engine >::operator() | ( | const http_request_header_t & | h,
|  | target_path_holder_t & | target_path,
|  | route_params_t & | parameters
| ) |  | const

inline

Definition at line 394 of file express.hpp.

## Member Data Documentation

## m_method_matcher

template<typename Regex_Engine = std_regex_engine_t>

buffered_matcher_holder_t restinio::router::impl::route_matcher_t< Regex_Engine >::m_method_matcher

private

HTTP method to match.

Definition at line 405 of file express.hpp.

## m_named_params_buffer

template<typename Regex_Engine = std_regex_engine_t>

std::shared_ptr< std::string > restinio::router::impl::route_matcher_t< Regex_Engine >::m_named_params_buffer

private

Buffer for named parameters names string views.

Definition at line 411 of file express.hpp.

## m_param_appender_sequence

template<typename Regex_Engine = std_regex_engine_t>

param_appender_sequence_t restinio::router::impl::route_matcher_t< Regex_Engine >::m_param_appender_sequence

private

Parameters values.

Definition at line 414 of file express.hpp.

## m_route_regex

template<typename Regex_Engine = std_regex_engine_t>

regex_t restinio::router::impl::route_matcher_t< Regex_Engine >::m_route_regex

private

Regex of a given route.

Definition at line 408 of file express.hpp.

The documentation for this class was generated from the following file:

- restinio/router/express.hpp