maybe_reduced.hpp File Reference

Go to the source code of this file.

Classes

struct  maybe_reduced_tag
 Tag for maybe_reduced state wrapper. More...
 

Namespaces

 atria
 C++ amazing templates and reusable implementations awesomeness.
 
 atria::xform
 Efficient and flexible C++ implementation of transducers.
 

Typedefs

template<typename T >
using maybe_reduced = state_wrapper< maybe_reduced_tag, T, bool >
 State wrapper for transducers that may want to signal that the reduction is finished. More...
 

Functions

bool state_wrapper_data_is_reduced (maybe_reduced_tag, bool is_reduced)
 
template<typename T >
auto reduced_if (T &&x, bool is_reduced) -> maybe_reduced< estd::decay_t< T > >
 Wraps x in a maybe_reduced, where is_reduced contains whether the reduction should actually finish. More...
 
template<typename T >
auto reduced (T &&x) -> decltype(reduced_if(std::forward< T >(x), true))
 Wraps x such that the reduction should finish. More...
 
template<typename T >
auto not_reduced (T &&x) -> decltype(reduced_if(std::forward< T >(x), false))
 Wraps x such that the reduction should continue. More...
 
Fork me on GitHub