CatapultServer  v0.5.0.1 (Elephant)
catapult::validators::DemuxValidatorBuilderT< TArgs > Class Template Reference

A demultiplexing validator builder. More...

Collaboration diagram for catapult::validators::DemuxValidatorBuilderT< TArgs >:

Classes

class  ConditionalValidator
 

Public Member Functions

template<typename TNotification >
DemuxValidatorBuilderTadd (NotificationValidatorPointerT< TNotification > &&pValidator)
 Adds a validator (pValidator) to the builder that is invoked only when matching notifications are processed. More...
 
DemuxValidatorBuilderTadd (NotificationValidatorPointerT< model::Notification > &&pValidator)
 Adds a validator (pValidator) to the builder that is always invoked. More...
 
AggregateValidatorPointer build (const ValidationResultPredicate &isSuppressedFailure)
 Builds a demultiplexing validator that ignores suppressed failures according to isSuppressedFailure. More...
 

Private Types

template<typename TNotification >
using NotificationValidatorPointerT = std::unique_ptr< const NotificationValidatorT< TNotification, TArgs... > >
 
using NotificationValidatorPredicate = predicate< const model::Notification & >
 
using AggregateValidatorPointer = std::unique_ptr< const AggregateNotificationValidatorT< model::Notification, TArgs... > >
 

Private Attributes

AggregateValidatorBuilder< model::Notification, TArgs... > m_builder
 

Detailed Description

template<typename... TArgs>
class catapult::validators::DemuxValidatorBuilderT< TArgs >

A demultiplexing validator builder.

Member Typedef Documentation

◆ AggregateValidatorPointer

template<typename... TArgs>
using catapult::validators::DemuxValidatorBuilderT< TArgs >::AggregateValidatorPointer = std::unique_ptr<const AggregateNotificationValidatorT<model::Notification, TArgs...> >
private

◆ NotificationValidatorPointerT

template<typename... TArgs>
template<typename TNotification >
using catapult::validators::DemuxValidatorBuilderT< TArgs >::NotificationValidatorPointerT = std::unique_ptr<const NotificationValidatorT<TNotification, TArgs...> >
private

◆ NotificationValidatorPredicate

Member Function Documentation

◆ add() [1/2]

template<typename... TArgs>
DemuxValidatorBuilderT& catapult::validators::DemuxValidatorBuilderT< TArgs >::add ( NotificationValidatorPointerT< model::Notification > &&  pValidator)
inline

Adds a validator (pValidator) to the builder that is always invoked.

◆ add() [2/2]

template<typename... TArgs>
template<typename TNotification >
DemuxValidatorBuilderT& catapult::validators::DemuxValidatorBuilderT< TArgs >::add ( NotificationValidatorPointerT< TNotification > &&  pValidator)
inline

Adds a validator (pValidator) to the builder that is invoked only when matching notifications are processed.

Here is the call graph for this function:

◆ build()

template<typename... TArgs>
AggregateValidatorPointer catapult::validators::DemuxValidatorBuilderT< TArgs >::build ( const ValidationResultPredicate isSuppressedFailure)
inline

Builds a demultiplexing validator that ignores suppressed failures according to isSuppressedFailure.

Member Data Documentation

◆ m_builder

template<typename... TArgs>
AggregateValidatorBuilder<model::Notification, TArgs...> catapult::validators::DemuxValidatorBuilderT< TArgs >::m_builder
private

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