UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Audio::Quartz::PrivateDefs::TQuartzCommandQueue< Ts > Class Template Reference

#include <QuartzCommandQueue.h>

+ Inheritance diagram for Audio::Quartz::PrivateDefs::TQuartzCommandQueue< Ts >:

Public Types

using IConsumerBase = typename TVisitorPatternBase< Ts... >::IListenerBase
 
template<typename... ConsumerInterfaces>
using TConsumerBase = typename TVisitorPatternBase< Ts... >::template TElementBase< ConsumerInterfaces... >
 

Public Member Functions

 TQuartzCommandQueue ()=default
 
 ~TQuartzCommandQueue ()=default
 
template<class TargetInterface >
void PushLambda (TFunction< void(TargetInterface &)> InLambda)
 
void PumpCommandQueue (IConsumerBase &InListener)
 

Member Typedef Documentation

◆ IConsumerBase

template<typename... Ts>
using Audio::Quartz::PrivateDefs::TQuartzCommandQueue< Ts >::IConsumerBase = typename TVisitorPatternBase<Ts...>::IListenerBase

◆ TConsumerBase

template<typename... Ts>
template<typename... ConsumerInterfaces>
using Audio::Quartz::PrivateDefs::TQuartzCommandQueue< Ts >::TConsumerBase = typename TVisitorPatternBase<Ts...>::template TElementBase<ConsumerInterfaces...>

Constructor & Destructor Documentation

◆ TQuartzCommandQueue()

template<typename... Ts>
Audio::Quartz::PrivateDefs::TQuartzCommandQueue< Ts >::TQuartzCommandQueue ( )
default

◆ ~TQuartzCommandQueue()

template<typename... Ts>
Audio::Quartz::PrivateDefs::TQuartzCommandQueue< Ts >::~TQuartzCommandQueue ( )
default

Member Function Documentation

◆ PumpCommandQueue()

template<typename... Ts>
void Audio::Quartz::PrivateDefs::TQuartzCommandQueue< Ts >::PumpCommandQueue ( IConsumerBase InListener)
inline

void PumpCommandQueue(TArray<IConsumerBase*>& InListeners) { Queue.ConsumeAllFifo([&InListeners](TUniquePtr<ICommandBase> InCommand) { for(TUniquePtr<ICommandBase> Listener : InListeners) { if (ensure(InCommand)) { Listener->Accept(*InCommand); } } }); }

◆ PushLambda()

template<typename... Ts>
template<class TargetInterface >
void Audio::Quartz::PrivateDefs::TQuartzCommandQueue< Ts >::PushLambda ( TFunction< void(TargetInterface &)>  InLambda)
inline

PushLambda(): push a function that takes a TargetInterface& as an argument. Listeners will execute this code with (static_cast<TargetInterface>(this)) as the input()


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