RESTinio
Public Member Functions | Private Types | Private Attributes | List of all members
restinio::easy_parser::impl::produce_t< Target_Type, Subitems_Tuple > Class Template Reference

A template for producing a value of specific type of a sequence of entities from the input stream. More...

#include <easy_parser.hpp>

Inheritance diagram for restinio::easy_parser::impl::produce_t< Target_Type, Subitems_Tuple >:
restinio::easy_parser::impl::producer_tag< Target_Type >

Public Member Functions

 produce_t (Subitems_Tuple &&subitems)
 
RESTINIO_NODISCARD expected_t< Target_Type, parse_error_ttry_parse (source_t &from)
 

Private Types

using value_wrapper_t = result_value_wrapper< Target_Type >
 

Private Attributes

Subitems_Tuple m_subitems
 

Additional Inherited Members

- Public Types inherited from restinio::easy_parser::impl::producer_tag< Target_Type >
using result_type = Target_Type
 
- Static Public Attributes inherited from restinio::easy_parser::impl::producer_tag< Target_Type >
static constexpr entity_type_t entity_type
 

Detailed Description

template<typename Target_Type, typename Subitems_Tuple>
class restinio::easy_parser::impl::produce_t< Target_Type, Subitems_Tuple >

A template for producing a value of specific type of a sequence of entities from the input stream.

Creates a new empty object of type Target_Type in try_parse and then call try_process methods for every subitems. A reference to that new object is passed to every try_process call.

Template Parameters
Target_Typethe type of value to be produced.
Subitems_Tuplethe type of std::tuple with items for every clause to be checked.
Since
v.0.6.1

Definition at line 2009 of file easy_parser.hpp.

Member Typedef Documentation

◆ value_wrapper_t

template<typename Target_Type , typename Subitems_Tuple >
using restinio::easy_parser::impl::produce_t< Target_Type, Subitems_Tuple >::value_wrapper_t = result_value_wrapper< Target_Type >
private

Definition at line 2011 of file easy_parser.hpp.

Constructor & Destructor Documentation

◆ produce_t()

template<typename Target_Type , typename Subitems_Tuple >
restinio::easy_parser::impl::produce_t< Target_Type, Subitems_Tuple >::produce_t ( Subitems_Tuple &&  subitems)
inline

Definition at line 2016 of file easy_parser.hpp.

Member Function Documentation

◆ try_parse()

template<typename Target_Type , typename Subitems_Tuple >
RESTINIO_NODISCARD expected_t< Target_Type, parse_error_t > restinio::easy_parser::impl::produce_t< Target_Type, Subitems_Tuple >::try_parse ( source_t from)
inline

Definition at line 2023 of file easy_parser.hpp.

Member Data Documentation

◆ m_subitems

template<typename Target_Type , typename Subitems_Tuple >
Subitems_Tuple restinio::easy_parser::impl::produce_t< Target_Type, Subitems_Tuple >::m_subitems
private

Definition at line 2013 of file easy_parser.hpp.


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