RESTinio
Public Member Functions | Private Types | Private Attributes | List of all members
restinio::easy_parser::impl::convert_transformer_proxy_t< Converter > Class Template Reference

A proxy for the creation of convert_transformer instances for a specific value producers. More...

#include <easy_parser.hpp>

Inheritance diagram for restinio::easy_parser::impl::convert_transformer_proxy_t< Converter >:
restinio::easy_parser::impl::transformer_proxy_tag

Public Member Functions

template<typename Convert_Arg >
 convert_transformer_proxy_t (Convert_Arg &&converter) noexcept(noexcept(Converter{std::forward< Convert_Arg >(converter)}))
 
template<typename Input_Type >
RESTINIO_NODISCARD auto make_transformer () const &noexcept(noexcept(Converter{m_converter}))
 
template<typename Input_Type >
RESTINIO_NODISCARD auto make_transformer () &&noexcept(noexcept(Converter{std::move(m_converter)}))
 

Private Types

template<typename Input_Type >
using output = conversion_result_type_detector_t< std::decay_t< decltype(std::declval< Converter & >()(std::declval< Input_Type && >())) > >
 

Private Attributes

Converter m_converter
 

Additional Inherited Members

- Static Public Attributes inherited from restinio::easy_parser::impl::transformer_proxy_tag
static constexpr entity_type_t entity_type = entity_type_t::transformer_proxy
 

Detailed Description

template<typename Converter>
class restinio::easy_parser::impl::convert_transformer_proxy_t< Converter >

A proxy for the creation of convert_transformer instances for a specific value producers.

Note
This class is intended to be used in implementation of operator>> for cases like that:
symbol_p('k') >> convert([](auto ch) { return 1024u; })
RESTINIO_NODISCARD auto symbol_p(char expected) noexcept
A factory function to create a symbol_producer.
RESTINIO_NODISCARD auto convert(Converter &&converter)
A factory function to create convert_transformer.
Since
v.0.6.6

Definition at line 3262 of file easy_parser.hpp.

Member Typedef Documentation

◆ output

template<typename Converter >
template<typename Input_Type >
using restinio::easy_parser::impl::convert_transformer_proxy_t< Converter >::output = conversion_result_type_detector_t< std::decay_t< decltype( std::declval<Converter &>()(std::declval<Input_Type&&>()) ) > >
private

Definition at line 3265 of file easy_parser.hpp.

Constructor & Destructor Documentation

◆ convert_transformer_proxy_t()

template<typename Converter >
template<typename Convert_Arg >
restinio::easy_parser::impl::convert_transformer_proxy_t< Converter >::convert_transformer_proxy_t ( Convert_Arg &&  converter)
inlinenoexcept

Definition at line 3275 of file easy_parser.hpp.

Member Function Documentation

◆ make_transformer() [1/2]

template<typename Converter >
template<typename Input_Type >
RESTINIO_NODISCARD auto restinio::easy_parser::impl::convert_transformer_proxy_t< Converter >::make_transformer ( ) &&
inlinenoexcept

Definition at line 3294 of file easy_parser.hpp.

◆ make_transformer() [2/2]

template<typename Converter >
template<typename Input_Type >
RESTINIO_NODISCARD auto restinio::easy_parser::impl::convert_transformer_proxy_t< Converter >::make_transformer ( ) const &
inlinenoexcept

Definition at line 3283 of file easy_parser.hpp.

Member Data Documentation

◆ m_converter

template<typename Converter >
Converter restinio::easy_parser::impl::convert_transformer_proxy_t< Converter >::m_converter
private

Definition at line 3271 of file easy_parser.hpp.


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