Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
_ExpanderTraits< SRC, RES > Struct Template Reference

#include "lib/iter-explorer.hpp"

Description

template<class SRC, class RES>
struct lib::anonymous_namespace{iter-explorer.hpp}::_ExpanderTraits< SRC, RES >

helper to derive a suitable common type when expanding children

Template Parameters
SRCsource iterator fed into the Expander
RESresult type of the expansion function
Note
this also implies the decision, if the common result can be exposed by-ref or must be delivered as value, which may have further ramification down the pipeline.

Definition at line 325 of file iter-explorer.hpp.

Public Types

using ResIter = _DecoratorTraits< RES >::SrcIter
 
using SrcYield = iter::Yield< SRC >
 
using ResYield = iter::Yield< ResIter >
 
using _CommonT = meta::CommonResultYield< SrcYield, ResYield >
 
using YieldRes = _CommonT::ResType
 
using value_type = _CommonT::value_type
 
using reference = _CommonT::reference
 
using pointer = _CommonT::pointer
 

Static Public Attributes

static constexpr bool can_reconcile = _CommonT::value
 
static constexpr bool isRefResult = _CommonT::isRef
 

Member Typedef Documentation

◆ ResIter

template<class SRC , class RES >
using ResIter = _DecoratorTraits<RES>::SrcIter

Definition at line 327 of file iter-explorer.hpp.

◆ SrcYield

template<class SRC , class RES >
using SrcYield = iter::Yield<SRC>

Definition at line 328 of file iter-explorer.hpp.

◆ ResYield

template<class SRC , class RES >
using ResYield = iter::Yield<ResIter>

Definition at line 329 of file iter-explorer.hpp.

◆ _CommonT

template<class SRC , class RES >
using _CommonT = meta::CommonResultYield<SrcYield,ResYield>

Definition at line 330 of file iter-explorer.hpp.

◆ YieldRes

template<class SRC , class RES >
using YieldRes = _CommonT::ResType

Definition at line 339 of file iter-explorer.hpp.

◆ value_type

template<class SRC , class RES >
using value_type = _CommonT::value_type

Definition at line 340 of file iter-explorer.hpp.

◆ reference

template<class SRC , class RES >
using reference = _CommonT::reference

Definition at line 341 of file iter-explorer.hpp.

◆ pointer

template<class SRC , class RES >
using pointer = _CommonT::pointer

Definition at line 342 of file iter-explorer.hpp.

Member Data Documentation

◆ can_reconcile

template<class SRC , class RES >
constexpr bool can_reconcile = _CommonT::value
staticconstexpr

Definition at line 331 of file iter-explorer.hpp.

◆ isRefResult

template<class SRC , class RES >
constexpr bool isRefResult = _CommonT::isRef
staticconstexpr

Definition at line 332 of file iter-explorer.hpp.

+ Collaboration diagram for _ExpanderTraits< SRC, RES >:

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