4#ifndef _Stroika_Foundation_Execution_Activity_h_
5#define _Stroika_Foundation_Execution_Activity_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
26 namespace Activities_ {
37 const StackElt_* fPrev{};
39 thread_local inline const StackElt_* sTop_{
nullptr};
68 template <
typename STRINGISH_T = Characters::String>
71 constexpr Activity (
const STRINGISH_T& arg);
83 template <
typename CTOR_ARG>
98 template <
typename CTOR_ARG>
102 requires (is_invocable_r_v<Characters::String, CTOR_ARG>);
108 [[no_unique_address]] CTOR_ARG fArg_;
148 template <
typename ACTIVITY>
171 Private_::Activities_::StackElt_ fNewTopOfStackElt_;
181#include "Activity.inl"
String is like std::u32string, except it is much easier to use, often much more space efficient,...
Containers::Stack< Activity<> > CaptureCurrentActivities()
Returns a copyable preservable version of the current activities stack.
bool AnyCurrentActivities()
Checks if CaptureCurrentActivities() would produce a non-empty stack (but faster)