IceShard
1
A personal game engine project, with development focused on 2D/2.5D games.
Toggle main menu visibility
Loading...
Searching...
No Matches
utils
public
ice
config
config_types.hxx
Go to the documentation of this file.
1
3
4
#pragma once
5
#include <
ice/config/config_details.hxx
>
6
7
namespace
ice
8
{
9
10
enum class
ConfigValueFlags
:
ice::u8
11
{
12
None
,
13
AllowImplicitCasts
= 0x01,
14
// AllowStringCasts = 0x02,
15
};
16
17
enum class
ConfigValueType
:
ice::u8
18
{
19
Invalid
,
20
21
Bool
,
22
U8
,
U16
,
U32
,
U64
,
23
S8
,
S16
,
S32
,
S64
,
24
F32
,
F64
,
25
26
String
,
27
Blob
,
// Unused
28
29
Table
,
30
Object
,
31
};
32
33
class
Config
34
{
35
public
:
36
Config
() noexcept;
37
Config
(
Config
&& other) noexcept;
38
Config
(
Config
const& other) noexcept;
39
40
auto operator=(
Config
&& other) noexcept ->
Config
&;
41
auto operator=(
Config
const& other) noexcept ->
Config
&;
42
43
auto operator[](
ice
::
u32
index) const noexcept ->
Config
;
44
auto operator[](
ice
::
String
key) const noexcept ->
Config
;
45
46
ice
::
config
::
detail
::ConfigKey const*
_keys
;
47
ice
::
config
::
detail
::ConfigValue const*
_values
;
48
char
const*
_strings
;
49
void
const*
_data
;
50
};
51
52
}
// namespace ice
ice::Config::_strings
char const * _strings
Definition
config_types.hxx:48
ice::Config::Config
Config() noexcept
ice::Config::_data
void const * _data
Definition
config_types.hxx:49
ice::Config::_keys
ice::config::detail::ConfigKey const * _keys
Definition
config_types.hxx:46
ice::Config::_values
ice::config::detail::ConfigValue const * _values
Definition
config_types.hxx:47
config_details.hxx
ice::config
Definition
config.hxx:9
ice::detail
Definition
hashmap_details.hxx:13
ice
SPDX-License-Identifier: MIT.
Definition
array.hxx:12
ice::String
ice::BasicString< char > String
Definition
string.hxx:82
ice::LogSeverity::None
@ None
Definition
log_severity.hxx:21
ice::u32
std::uint32_t u32
Definition
types.hxx:26
ice::ConfigValueFlags
ConfigValueFlags
Definition
config_types.hxx:11
ice::ConfigValueFlags::AllowImplicitCasts
@ AllowImplicitCasts
Definition
config_types.hxx:13
ice::ConfigValueType
ConfigValueType
Definition
config_types.hxx:18
ice::ConfigValueType::S64
@ S64
Definition
config_types.hxx:23
ice::ConfigValueType::F64
@ F64
Definition
config_types.hxx:24
ice::ConfigValueType::U64
@ U64
Definition
config_types.hxx:22
ice::ConfigValueType::F32
@ F32
Definition
config_types.hxx:24
ice::ConfigValueType::Object
@ Object
Definition
config_types.hxx:30
ice::ConfigValueType::Table
@ Table
Definition
config_types.hxx:29
ice::ConfigValueType::U8
@ U8
Definition
config_types.hxx:22
ice::ConfigValueType::S16
@ S16
Definition
config_types.hxx:23
ice::ConfigValueType::S32
@ S32
Definition
config_types.hxx:23
ice::ConfigValueType::S8
@ S8
Definition
config_types.hxx:23
ice::ConfigValueType::Bool
@ Bool
Definition
config_types.hxx:21
ice::ConfigValueType::U32
@ U32
Definition
config_types.hxx:22
ice::ConfigValueType::Blob
@ Blob
Definition
config_types.hxx:27
ice::ConfigValueType::U16
@ U16
Definition
config_types.hxx:22
ice::LogSinkID::Invalid
@ Invalid
Definition
log_sink.hxx:22
ice::u8
std::uint8_t u8
Definition
types.hxx:24
Generated by
1.18.0