IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
params.hxx File Reference
#include <ice/array.hxx>
#include <ice/params_types.hxx>
#include <ice/path_utils.hxx>

Go to the source code of this file.

Classes

struct  ice::ParamDefinition
 Basic information for each command line parameter. More...
struct  ice::ParamInstanceBase
 Base class for global defined parameter instances. More...
class  ice::ParamInstance< T >
 Class for global defined parameter instances of simple native types. More...
class  ice::ParamInstanceCustom< T >
 Class for global defined parameter instances of custom parameter types. More...

Namespaces

namespace  ice
 SPDX-License-Identifier: MIT.

Enumerations

enum class  ice::ParamFlags : ice::u32 {
  ice::None = 0x00'00 , ice::IsRequired = 0x00'01 , ice::AllowExtraArgs = 0x00'02 , ice::NoExtraArgs = 0x00'04 ,
  ice::TakeFirst = 0x01'00 , ice::TakeLast = 0x02'00 , ice::TakeAll = 0x04'00 , ice::ValidateFile = 0x10'00 ,
  ice::ValidateDirectory = 0x20'00 , ice::ValidatePath = ValidateFile | ValidateDirectory , ice::All
}
 Additional flags altering command line parameter behaviors. More...

Functions

auto ice::create_params (ice::Allocator &alloc, ice::String name, ice::String version, ice::String description) noexcept -> ice::Params
auto ice::params_process (ice::Params &params, int argc, char const *const *argv) noexcept -> ice::i32
template<typename T>
bool ice::params_define (ice::Params &params, ice::ParamDefinition const &definition, T &out_value) noexcept=delete
template<>
bool ice::params_define (ice::Params &params, ice::ParamDefinition const &definition, bool &out_value) noexcept
template<>
bool ice::params_define (ice::Params &params, ice::ParamDefinition const &definition, char &out_value) noexcept
template<>
bool ice::params_define (ice::Params &params, ice::ParamDefinition const &definition, ice::f32 &out_value) noexcept
template<>
bool ice::params_define (ice::Params &params, ice::ParamDefinition const &definition, ice::f64 &out_value) noexcept
template<>
bool ice::params_define (ice::Params &params, ice::ParamDefinition const &definition, ice::u8 &out_value) noexcept
template<>
bool ice::params_define (ice::Params &params, ice::ParamDefinition const &definition, ice::u16 &out_value) noexcept
template<>
bool ice::params_define (ice::Params &params, ice::ParamDefinition const &definition, ice::u32 &out_value) noexcept
template<>
bool ice::params_define (ice::Params &params, ice::ParamDefinition const &definition, ice::u64 &out_value) noexcept
template<>
bool ice::params_define (ice::Params &params, ice::ParamDefinition const &definition, ice::i8 &out_value) noexcept
template<>
bool ice::params_define (ice::Params &params, ice::ParamDefinition const &definition, ice::i16 &out_value) noexcept
template<>
bool ice::params_define (ice::Params &params, ice::ParamDefinition const &definition, ice::i32 &out_value) noexcept
template<>
bool ice::params_define (ice::Params &params, ice::ParamDefinition const &definition, ice::i64 &out_value) noexcept
template<>
bool ice::params_define (ice::Params &params, ice::ParamDefinition const &definition, ice::String &out_value) noexcept
template<>
bool ice::params_define (ice::Params &params, ice::ParamDefinition const &definition, ice::HeapString<> &out_value) noexcept
template<>
bool ice::params_define (ice::Params &params, ice::ParamDefinition const &definition, ice::Path &out_value) noexcept
template<>
bool ice::params_define (ice::Params &params, ice::ParamDefinition const &definition, ice::HeapPath &out_value) noexcept
template<>
bool ice::params_define (ice::Params &params, ice::ParamDefinition const &definition, ice::Array< ice::String > &out_values) noexcept
template<>
bool ice::params_define (ice::Params &params, ice::ParamDefinition const &definition, ice::Array< ice::HeapString<> > &out_values) noexcept
bool ice::params_define_custom (ice::Params &params, ice::ParamDefinition const &definition, void *userdata, ice::ParamsCustomCallback callback) noexcept
void ice::params_register_globals (ice::Params &params) noexcept