Spicy
Public Member Functions | Public Attributes | List of all members
hilti::rt::detail::GlobalState Struct Reference

#include <global-state.h>

Public Member Functions

 GlobalState (const GlobalState &)=delete
 
 GlobalState (GlobalState &&)=delete
 
GlobalStateoperator= (const GlobalState &)=delete
 
GlobalStateoperator= (GlobalState &&)=delete
 

Public Attributes

bool runtime_is_initialized = false
 
int disable_abort_on_exceptions = 0
 
ResourceUsage resource_usage_init
 
std::unique_ptr< hilti::rt::Configurationconfiguration
 
std::unique_ptr< hilti::rt::detail::DebugLoggerdebug_logger
 
std::unique_ptr< hilti::rt::Contextmaster_context
 
std::vector< hilti::rt::detail::HiltiModulehilti_modules
 

Detailed Description

Struct capturing all truely global runtime state.

Member Data Documentation

◆ configuration

std::unique_ptr<hilti::rt::Configuration> hilti::rt::detail::GlobalState::configuration

The runtime's configuration.

◆ debug_logger

std::unique_ptr<hilti::rt::detail::DebugLogger> hilti::rt::detail::GlobalState::debug_logger

Debug logger recording runtime diagnostics.

◆ disable_abort_on_exceptions

int hilti::rt::detail::GlobalState::disable_abort_on_exceptions = 0

If not zero, Configuration::abort_on_exception is disabled.

◆ hilti_modules

std::vector<hilti::rt::detail::HiltiModule> hilti::rt::detail::GlobalState::hilti_modules

List of HILTI modules registered with the runtime. This is filled through registerModule(), which in turn gets called through a module's global constructors at initialization time.

Note
Must come last in this struct as destroying other fields may still need this information.

◆ master_context

std::unique_ptr<hilti::rt::Context> hilti::rt::detail::GlobalState::master_context

The context for the main thread.

◆ resource_usage_init

ResourceUsage hilti::rt::detail::GlobalState::resource_usage_init

Resource usage at library initialization time.

◆ runtime_is_initialized

bool hilti::rt::detail::GlobalState::runtime_is_initialized = false

True once hilit::init()` has finished.


The documentation for this struct was generated from the following files: