/*** Copyright (C) 2023 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: CompletionQuantumEventProvider.hpp Date: 2023-12-28 Author: Reece ***/ #pragma once #include "CompletionGroupLoopSource.hpp" namespace Aurora::IO::CompletionGroup { struct CompletionQuantumEventProvider { CompletionQuantumEventProvider(CompletionGroup *pParent, bool bAnd); void Set(); AuSPtr GetLoopSource(); private: CompletionGroup *pParent {}; bool bWasSet {}; bool bHasInit {}; AuInitOnce initOnce; CompletionGroupLoopSource loopSource; }; }