AnCH Framework 0.1
Another C++ Hack Framework
Loading...
Searching...
No Matches
anch::Flux< T > Class Template Reference

Manage collection as stream. More...

#include <flux.hpp>

Collaboration diagram for anch::Flux< T >:

Public Member Functions

 Flux ()
virtual ~Flux ()
void ready ()
void push (const T &... object)
void finalize ()
void setConsumer (std::function< void(const T &...)> consumer)
void setFinalizer (std::function< void()> finalizer)
void setErrorHandler (std::function< void()> errorHandler)

Detailed Description

template<typename... T>
class anch::Flux< T >

Manage collection as stream.

Each item from the collection will be added with push method.
The synchronization is managed with std::promise / std::future C++ features.
Flux runs with:

  • item's consumer (mandatory)
  • error's handler (optional)
  • finalizer (optional)

When not set, the ready method will set error handler to rethrow and finalizer to do nothing.

When not sure, it is advise to call ready every time you have been to set consummer.

Template Parameters
Tthe collection's type
Since
0.1
Author
Vincent Lachenal

Constructor & Destructor Documentation

◆ Flux()

template<typename... T>
anch::Flux< T >::Flux ( )

Flux default constructor

◆ ~Flux()

template<typename... T>
virtual anch::Flux< T >::~Flux ( )
virtual

Flux destructor

Member Function Documentation

◆ finalize()

template<typename... T>
void anch::Flux< T >::finalize ( )

Finalize treatment

◆ push()

template<typename... T>
void anch::Flux< T >::push ( const T &... object)

Push object in stream

Parameters
objectthe object to push in stream

◆ ready()

template<typename... T>
void anch::Flux< T >::ready ( )

Set ready to consume
When consumer is not set, std::runtime_error will be raised.
When finalizer is not set, ready set it to nothing to do.
When error handler is not set, ready set it to rethrow.

Exceptions
std::runtime_errorwhen consumer function is not set

◆ setConsumer()

template<typename... T>
void anch::Flux< T >::setConsumer ( std::function< void(const T &...)> consumer)

Object consumer setter

Parameters
consumerthe consumer to use
Exceptions
std::runtime_errorwhen already set

◆ setErrorHandler()

template<typename... T>
void anch::Flux< T >::setErrorHandler ( std::function< void()> errorHandler)

Object error handler setter

Parameters
errorHandlerthe error handler to use
Exceptions
std::runtime_errorwhen already set

◆ setFinalizer()

template<typename... T>
void anch::Flux< T >::setFinalizer ( std::function< void()> finalizer)

Object finalizer setter

Parameters
finalizerthe finalizer to use
Exceptions
std::runtime_errorwhen already set

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