SDL3pp
A slim C++ wrapper for SDL3
Loading...
Searching...
No Matches
Public Member Functions | List of all members
SDL::EnvironmentBase Struct Reference

A thread-safe set of environment variables. More...

Inheritance diagram for SDL::EnvironmentBase:
Inheritance graph
[legend]

Public Member Functions

 EnvironmentBase (bool populated)
 Create a set of environment variables.
 
const char * GetVariable (StringParam name)
 Get the value of a variable in the environment.
 
OwnArray< char * > GetVariables ()
 Get all variables in the environment.
 
Uint64 GetVariableCount ()
 Get the Variables count.
 
void SetVariable (StringParam name, StringParam value, bool overwrite)
 Set the value of a variable in the environment.
 
void UnsetVariable (StringParam name)
 Clear a variable from the environment.
 
constexpr Resource (T resource={})
 Constructs the underlying resource.
 
constexpr Resource (std::nullptr_t)
 Equivalent to default ctor.
 
constexpr Resource (std::nullopt_t)
 Equivalent to default ctor.
 
 Resource (const Resource &other)=delete
 
 Resource (Resource &&other)=delete
 
- Public Member Functions inherited from SDL::Resource< SDL_Environment * >
constexpr Resource (SDL_Environment * resource={})
 Constructs the underlying resource.
 
constexpr Resource (std::nullptr_t)
 Equivalent to default ctor.
 
constexpr Resource (std::nullopt_t)
 Equivalent to default ctor.
 
 Resource (const Resource &other)=delete
 
 Resource (Resource &&other)=delete
 
Resourceoperator= (const Resource &other)=delete
 
Resourceoperator= (Resource &&other)=delete
 
constexpr operator bool () const
 True if contains a valid resource.
 
constexpr bool operator== (const Resource &other) const=default
 Comparison.
 
constexpr bool operator== (std::nullopt_t) const
 Comparison.
 
constexpr bool operator== (std::nullptr_t) const
 Comparison.
 
constexpr SDL_Environment * get () const
 Return contained resource;.
 
constexpr SDL_Environment * release (SDL_Environment * newResource={})
 Return contained resource and empties or replace value.
 
constexpr const SDL_Environment * operator-> () const
 Access to fields.
 
constexpr SDL_Environment * operator-> ()
 Access to fields.
 

Detailed Description

Since
This struct is available since SDL 3.2.0.
Category:
Resource
See also
Environment
EnvironmentRef
GetEnvironment
EnvironmentBase.EnvironmentBase
EnvironmentBase.GetVariable
EnvironmentBase.GetVariables
EnvironmentBase.SetVariable
EnvironmentBase.UnsetVariable

Constructor & Destructor Documentation

◆ EnvironmentBase()

SDL::EnvironmentBase::EnvironmentBase ( bool  populated)
inline
Parameters
populatedtrue to initialize it from the C runtime environment, false to create an empty environment.
Postcondition
the new environment on success.
Exceptions
Erroron failure.
Thread safety:
If populated is false, it is safe to call this function from any thread, otherwise it is safe if no other threads are calling setenv() or unsetenv()
Since
This function is available since SDL 3.2.0.
See also
EnvironmentBase.GetVariable
EnvironmentBase.GetVariables
EnvironmentBase.SetVariable
EnvironmentBase.UnsetVariable

Member Function Documentation

◆ GetVariable()

const char * SDL::EnvironmentBase::GetVariable ( StringParam  name)
inline
Parameters
namethe name of the variable to get.
Returns
a pointer to the value of the variable or nullptr if it can't be found.
Thread safety:
It is safe to call this function from any thread.
Since
This function is available since SDL 3.2.0.
See also
GetEnvironment
EnvironmentBase.EnvironmentBase
EnvironmentBase.GetVariables
EnvironmentBase.SetVariable
EnvironmentBase.UnsetVariable

◆ GetVariableCount()

Uint64 SDL::EnvironmentBase::GetVariableCount ( )
inline
Returns
the number of existing environment variables

This might be slow.

◆ GetVariables()

OwnArray< char * > SDL::EnvironmentBase::GetVariables ( )
inline
Returns
a nullptr terminated array of pointers to environment variables in the form "variable=value" on success. This is wrapped to be auto-deleted, use FreeWrapper.release() if you want to manage manually.
Exceptions
Erroron failure
Thread safety:
It is safe to call this function from any thread.
Since
This function is available since SDL 3.2.0.
See also
GetEnvironment
EnvironmentBase.EnvironmentBase
EnvironmentBase.GetVariables
EnvironmentBase.SetVariable
EnvironmentBase.UnsetVariable

◆ SetVariable()

void SDL::EnvironmentBase::SetVariable ( StringParam  name,
StringParam  value,
bool  overwrite 
)
inline
Parameters
namethe name of the variable to set.
valuethe value of the variable to set.
overwritetrue to overwrite the variable if it exists, false to return success without setting the variable if it already exists.
Exceptions
Erroron failure.
Thread safety:
It is safe to call this function from any thread.
Since
This function is available since SDL 3.2.0.
See also
GetEnvironment
EnvironmentBase.EnvironmentBase
EnvironmentBase.GetVariable
EnvironmentBase.GetVariables
EnvironmentBase.UnsetVariable

◆ UnsetVariable()

void SDL::EnvironmentBase::UnsetVariable ( StringParam  name)
inline
Parameters
namethe name of the variable to unset.
Exceptions
Erroron failure.
Thread safety:
It is safe to call this function from any thread.
Since
This function is available since SDL 3.2.0.
See also
GetEnvironment
EnvironmentBase.EnvironmentBase
EnvironmentBase.GetVariable
EnvironmentBase.GetVariables
EnvironmentBase.SetVariable
EnvironmentBase.UnsetVariable

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