Lumiera  0.pre.03
»edit your freedom«
_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 _CommonT = meta::CommonResultYield< SrcYield, ResYield >
 
using pointer = typename _CommonT::pointer
 
using reference = typename _CommonT::reference
 
using ResIter = typename _DecoratorTraits< RES >::SrcIter
 
using ResYield = iter::Yield< ResIter >
 
using SrcYield = iter::Yield< SRC >
 
using value_type = typename _CommonT::value_type
 
using YieldRes = typename _CommonT::ResType
 

Static Public Attributes

static constexpr bool can_reconcile = _CommonT::value
 
static constexpr bool isRefResult = _CommonT::isRef
 
+ Collaboration diagram for _ExpanderTraits< SRC, RES >:

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