RESTinio
Loading...
Searching...
No Matches
restinio::easy_parser::impl::sequence_clause_t< Subitems_Tuple > Class Template Reference

A template for implementation of clause that checks and handles presence of sequence of entities in the input stream. More...

#include <easy_parser.hpp>

Inheritance diagram for restinio::easy_parser::impl::sequence_clause_t< Subitems_Tuple >:
restinio::easy_parser::impl::clause_tag restinio::easy_parser::impl::forced_alternative_clause_t< Subitems_Tuple >

Public Member Functions

 sequence_clause_t (Subitems_Tuple &&subitems)
template<typename Target_Type>
std::optional< parse_error_ttry_process (source_t &from, Target_Type &target)

Private Attributes

Subitems_Tuple m_subitems

Additional Inherited Members

Static Public Attributes inherited from restinio::easy_parser::impl::clause_tag
static constexpr entity_type_t entity_type = entity_type_t::clause

Detailed Description

template<typename Subitems_Tuple>
class restinio::easy_parser::impl::sequence_clause_t< Subitems_Tuple >

A template for implementation of clause that checks and handles presence of sequence of entities in the input stream.

This template implements rules like:

T := A B C
Note
The copy of Target_Type object passed to try_process method is created before checking the presence of subitems. If all subitems are found then the value of that temporary object moved back to target parameter of try_process method.
Template Parameters
Subitems_Tuplethe type of std::tuple with items for every clause to be checked.
Since
v.0.6.1

Definition at line 1909 of file easy_parser.hpp.

Constructor & Destructor Documentation

◆ sequence_clause_t()

template<typename Subitems_Tuple>
restinio::easy_parser::impl::sequence_clause_t< Subitems_Tuple >::sequence_clause_t ( Subitems_Tuple && subitems)
inline

Definition at line 1914 of file easy_parser.hpp.

Member Function Documentation

◆ try_process()

template<typename Subitems_Tuple>
template<typename Target_Type>
std::optional< parse_error_t > restinio::easy_parser::impl::sequence_clause_t< Subitems_Tuple >::try_process ( source_t & from,
Target_Type & target )
inlinenodiscard

Definition at line 1922 of file easy_parser.hpp.

Member Data Documentation

◆ m_subitems

template<typename Subitems_Tuple>
Subitems_Tuple restinio::easy_parser::impl::sequence_clause_t< Subitems_Tuple >::m_subitems
private

Definition at line 1911 of file easy_parser.hpp.


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