11#include "functional.h" 
   33        static_assert(internal::always_false<T>::value, 
"Requested Type is not supported");
 
 
   44    bool set(
const char* name, 
const T& val)
 
   46        static_assert(internal::always_false<T>::value, 
"Requested Type is not supported");
 
 
   64    void observe(
const char* name, F callback)
 
   66        internal_observe(
hash_string(name), 
new internal::callback(callback));
 
 
   83    virtual bool            set_var(
hash_t name, 
const value& val)                           = 0;
 
   85    virtual void            internal_observe(
hash_t name, internal::callback_base* callback) = 0;
 
 
   92inline optional<value> globals_interface::get<value>(
const char* name)
 const 
 
   98inline bool globals_interface::set<value>(
const char* name, 
const value& val)
 
  104inline optional<bool> globals_interface::get<bool>(
const char* name)
 const 
 
  114inline bool globals_interface::set<bool>(
const char* name, 
const bool& val)
 
 
  130inline bool globals_interface::set<uint32_t>(
const char* name, 
const uint32_t& val)
 
 
  146inline bool globals_interface::set<int32_t>(
const char* name, 
const int32_t& val)
 
  152inline optional<float> globals_interface::get<float>(
const char* name)
 const 
 
  162inline bool globals_interface::set<float>(
const char* name, 
const float& val)
 
 
  178inline bool globals_interface::set<const char*>(
const char* name, 
const char* 
const& val)
 
  184inline optional<list> globals_interface::get<list>(
const char* name)
 const 
 
  194inline bool globals_interface::set<list>(
const char* name, 
const list& val)
 
 
Represents a global store to be shared amongst ink runners.
Definition globals.h:22
 
void observe(const char *name, F callback)
Observers global variable.
Definition globals.h:64
 
optional< T > get(const char *name) const
Access global variable of Ink runner.
Definition globals.h:31
 
bool set(const char *name, const T &val)
Write new value in global store.
Definition globals.h:44
 
virtual config::statistics::global statistics() const =0
Get usage statistics for global.
 
virtual snapshot * create_snapshot() const =0
create a snapshot of the current runtime state.
 
Interface for accessing a Ink list.
Definition list.h:43
 
Container for an InkCPP runtime snapshot.
Definition snapshot.h:27
 
Contaning all modules and classes used for the inkles ink runtime.
Definition choice.h:13
 
unsigned int uint32_t
define basic numeric type
Definition system.h:47
 
std::optional< T > optional
custom optional implementation for usage if STL is disabled
Definition system.h:243
 
constexpr std::nullopt_t nullopt
an empty optional
Definition system.h:245
 
hash_t hash_string(const char *string)
Simple hash for serialization of strings.
Definition system.h:57
 
uint32_t hash_t
Name hash (used for temporary variables)
Definition system.h:50
 
A Ink variable.
Definition types.h:36
 
@ Float
containing a float
 
@ String
contaning a const char*
 
@ Uint32
containing uint32_t
 
@ List
containing a list_interface
 
@ Int32
containing int32_t