OnixS C++ CME MDP Premium Market Data Handler 5.11.1
Users' manual and API documentation
Loading...
Searching...
No Matches
DeferredMessageOperation< Factory > Class Template Reference

#include <OnixS/CME/MDH/testing/MessageOperation.h>

Public Member Functions

 DeferredMessageOperation (Factory factory)
 DeferredMessageOperation (const DeferredMessageOperation &)=delete
DeferredMessageOperation & operator= (const DeferredMessageOperation &)=delete
 DeferredMessageOperation (DeferredMessageOperation &&other) noexcept(std::is_nothrow_move_constructible< Factory >::value)
template<typename Callable>
auto operator% (Callable &&callable) &&-> DeferredMessageOperation< BoundMessageOperationFactory< Factory, CallableOperationFactory< typename std::decay< Callable >::type > > >
auto materialize () &&-> decltype(std::declval< Factory & >()())
Factory releaseFactory () &&

Detailed Description

template<typename Factory>
class OnixS::CME::MDH::Test::details::DeferredMessageOperation< Factory >

Definition at line 111 of file MessageOperation.h.

Constructor & Destructor Documentation

◆ DeferredMessageOperation() [1/3]

template<typename Factory>
DeferredMessageOperation ( Factory factory)
inlineexplicit

Definition at line 114 of file MessageOperation.h.

◆ DeferredMessageOperation() [2/3]

template<typename Factory>
DeferredMessageOperation ( const DeferredMessageOperation< Factory > & )
delete

◆ DeferredMessageOperation() [3/3]

template<typename Factory>
DeferredMessageOperation ( DeferredMessageOperation< Factory > && other)
inlinenoexcept

Definition at line 123 of file MessageOperation.h.

Member Function Documentation

◆ materialize()

template<typename Factory>
auto materialize ( ) && -> decltype(std::declval< Factory & >()())
inline

Definition at line 153 of file MessageOperation.h.

◆ operator%()

template<typename Factory>
template<typename Callable>
auto operator% ( Callable && callable) && -> DeferredMessageOperation< BoundMessageOperationFactory< Factory, CallableOperationFactory< typename std::decay< Callable >::type > > >

Binds a callable customization to this deferred operation's result.

Template Parameters
CallableCallable type invoked with the mutable result.
Parameters
callableCallable to store and invoke after this operation.
Returns
Deferred composite operation preserving this operation's result.
Note
Use the infix form stage % callable. This rvalue-qualified member consumes the stage; move a named stage explicitly and use it only once.
Remainder has higher precedence than bitwise OR, so the customization binds to this operation before the resulting stage is appended to a pipeline. Multiple customizations run from left to right. The callable is decay-copied or moved into the operation and its return value is ignored. Reference captures must remain valid until every recipe application completes.
The stored callable must be invocable through a const reference; mutable lambdas are not supported by deferred customizations.
Warning
When this operation creates a repeating-group entry, callable receives a temporary view of that entry. Do not retain the view after the callable returns; growing any earlier repeating group can relocate and invalidate it.
Exceptions
Anyexception thrown while moving, materializing, or applying either operation.

Definition at line 295 of file MessageOperation.h.

◆ operator=()

template<typename Factory>
DeferredMessageOperation & operator= ( const DeferredMessageOperation< Factory > & )
delete

◆ releaseFactory()

template<typename Factory>
Factory releaseFactory ( ) &&
inline

Definition at line 160 of file MessageOperation.h.