CatapultServer  v0.5.0.1 (Elephant)
HandlerTypes.h
Go to the documentation of this file.
1 
21 #pragma once
23 #include "catapult/functions.h"
24 
25 namespace catapult { namespace handlers {
26 
28  template<typename TEntity>
30 
33 
36 
38  template<typename TIdentifier, typename TEntity>
39  using SharedPointerProducerFactory = std::function<supplier<std::shared_ptr<const TEntity>> (const model::EntityRange<TIdentifier>&)>;
40 
42  template<typename TIdentifier, typename TEntity>
43  using RawPointerProducerFactory = std::function<supplier<const TEntity*> (const model::EntityRange<TIdentifier>&)>;
44 }}
catapult::handlers::RangeHandler
consumer< model::AnnotatedEntityRange< TEntity > && > RangeHandler
A handler for processing an annotated entity range.
Definition: HandlerTypes.h:29
catapult::handlers::SharedPointerProducerFactory
std::function< supplier< std::shared_ptr< const TEntity > >(const model::EntityRange< TIdentifier > &)> SharedPointerProducerFactory
Accepts a range and returns a producer that produces specified shared pointer elements.
Definition: HandlerTypes.h:39
functions.h
catapult::model::EntityRange
Represents a range of entities.
Definition: EntityRange.h:31
AnnotatedEntityRange.h
catapult::handlers::BlockRangeHandler
RangeHandler< model::Block > BlockRangeHandler
Prototype for a function that processes a range of blocks.
Definition: HandlerTypes.h:32
catapult::handlers::TransactionRangeHandler
RangeHandler< model::Transaction > TransactionRangeHandler
Prototype for a function that processes a range of transactions.
Definition: HandlerTypes.h:35
catapult::handlers::RawPointerProducerFactory
std::function< supplier< const TEntity * >(const model::EntityRange< TIdentifier > &)> RawPointerProducerFactory
Accepts a range and returns a producer that produces specified raw pointer elements.
Definition: HandlerTypes.h:43
catapult
Definition: AddressExtractionExtension.cpp:28
catapult::consumer
std::function< void(TArgs...)> consumer
A consumer function.
Definition: functions.h:35