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

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

`#include <easy_parser.hpp>`

Inheritance diagram for restinio::easy_parser::impl::maybe_clause_t< Subitems_Tuple >:

## Public Member Functions

| maybe_clause_t (Subitems_Tuple &&subitems)
template<typename Target_Type >
RESTINIO_NODISCARD optional_t< parse_error_t > | try_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::maybe_clause_t< Subitems_Tuple >

A template for implementation of clause that checks and handles presence of optional entity 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.
  This clause always returns success even if nothing has been consumed from the input stream.

Template Parameters

  Subitems_Tuple | the type of std::tuple with items for every clause to be checked.

Since
  v.0.6.1

Definition at line 1716 of file easy_parser.hpp.

## Constructor & Destructor Documentation

## maybe_clause_t()

template<typename Subitems_Tuple >

restinio::easy_parser::impl::maybe_clause_t< Subitems_Tuple >::maybe_clause_t | ( | Subitems_Tuple && | subitems | ) |

inline

Definition at line 1721 of file easy_parser.hpp.

## Member Function Documentation

## try_process()

template<typename Subitems_Tuple >
template<typename Target_Type >

RESTINIO_NODISCARD optional_t< parse_error_t > restinio::easy_parser::impl::maybe_clause_t< Subitems_Tuple >::try_process | ( | source_t & | from,
|  | Target_Type & | target
| ) |  |

inline

Definition at line 1729 of file easy_parser.hpp.

## Member Data Documentation

## m_subitems

template<typename Subitems_Tuple >

Subitems_Tuple restinio::easy_parser::impl::maybe_clause_t< Subitems_Tuple >::m_subitems

private

Definition at line 1718 of file easy_parser.hpp.

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

- restinio/helpers/easy_parser.hpp