Lumiera  0.pre.03
»edit your freedom«
CheckedCore< COR > Class Template Reference

#include "lib/iter-adapter.hpp"

Description

template<class COR>
class lib::CheckedCore< COR >

Adapter to add sanity checks to a »state core«.

Remarks
It is recommended to perform this kind of sanity checking by default, since the performance overhead is minute compared even to a virtual function call. However, there might be high-performance usage scenarios, where it is essential for the optimiser to be able to "strip every wart".

Definition at line 544 of file iter-adapter.hpp.

Public Types

using TAG_CheckedCore_Raw = COR
 marker to allow unwrapping the raw core
 

Public Member Functions

template<typename... ARGS>
 CheckedCore (ARGS &&...init)
 blindly pass-down any argument... More...
 
 CheckedCore (CheckedCore &&)=default
 
 CheckedCore (CheckedCore const &)=default
 
bool checkPoint () const
 
void iterNext ()
 
CheckedCoreoperator= (CheckedCore &&)=default
 
CheckedCoreoperator= (CheckedCore const &)=default
 
decltype(auto) yield () const
 

Protected Member Functions

void __throw_if_empty () const
 
COR & _rawCore () const
 

Constructor & Destructor Documentation

◆ CheckedCore()

CheckedCore ( ARGS &&...  init)
inline

blindly pass-down any argument...

Remarks
allows slicing move-initialisation from decorated

Definition at line 568 of file iter-adapter.hpp.

+ Inheritance diagram for CheckedCore< COR >:
+ Collaboration diagram for CheckedCore< COR >:

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