142 "Destructing a non-terminated camp. Camp Resource category is: \"{}\"",
ResourceCategory )
208 "Double setting or removing a camp's configuration instance.\n"
209 "Note: A custom configuration must be set before camp initialization." )
235 "Double setting or removing a camp's resource pool instance.\n"
236 "Note: A custom resource pool must be set before camp initialization." )
327template<
typename TEnum>
368 var.Declare( name, typeName, defaultValue );
393template<
typename TEnum>
414template<
typename TEnum>
415requires std::is_enum_v<TEnum>
NCString ResourceCategory
BootstrapPhases GetBootstrapState()
SharedConfiguration config
void BootstrapResource(const NString &name, const String &data)
void operator=(const Camp &)=delete
Deleted copy assignment.
Camp(const Camp &)=delete
Deleted copy constructor.
void BootstrapSetPhase(BootstrapPhases phase)
SharedConfiguration & GetConfig()
virtual ~Camp()
Virtual destructor to satisfy C++ abstract type rules.
void operator=(Camp &&)=delete
Deleted move assignment.
virtual void Shutdown(ShutdownPhases phase)=0
Camp(Camp &&)=delete
Deleted move constructor.
virtual void Bootstrap()=0
const String & TryResource(const NString &name)
SharedPtr< resources::ResourcePool, MonoAllocator > SPResourcePool
void BootstrapSetConfig(const SharedConfiguration &pConfig)
void BootstrapSetResourcePool(const SPResourcePool &pResourcePool)
Camp(const NCString &resourceCategory)
SPResourcePool resourcePool
SPResourcePool & GetResourcePool()
const String & GetResource(const NString &name)
static const Declaration * Get(TEnum element)
#define ALIB_ASSERT_WARNING(cond, domain,...)
#define ALIB_LOCK_WITH(lock)
void Bootstrap(camp::Camp &camp, const NString &name, character innerDelim=',', character outerDelim=',')
variables::Variable CampVariable(camp::Camp &camp)
constexpr String NULL_STRING
A nulled string of the default character type.
@ Final
The final initialization phase. Here, camps are initializing their custom setup.
ShutdownPhases
Termination levels usable with Bootstrapping ALib Camps.
@ Destruct
The main phase of termination that destructs everything.
strings::TString< nchar > NString
Type alias in namespace alib.
variables::TSharedConfiguration< SharedLock > SharedConfiguration
Type alias in namespace alib.
strings::TCString< nchar > NCString
Type alias in namespace alib.
boxing::Enum Enum
Type alias in namespace alib.
boxing::Box Box
Type alias in namespace alib.
strings::TString< character > String
Type alias in namespace alib.
characters::character character
Type alias in namespace alib.
containers::SharedPtr< T, TAllocator > SharedPtr
Type alias in namespace alib.