IceShard
1
A personal game engine project, with development focused on 2D/2.5D games.
Toggle main menu visibility
Loading...
Searching...
No Matches
i18n
public
ice
i18n_string.hxx
Go to the documentation of this file.
1
3
4
#pragma once
5
#include <
ice/i18n_reference.hxx
>
6
#include <
ice/string.hxx
>
7
8
namespace
ice
9
{
10
11
struct
I18NString
:
ice::string::ReadOnlyOperations
12
{
13
using
CharType
= char;
14
using
ValueType
=
CharType
const
;
15
using
ConstIterator
=
ValueType
*;
16
using
ConstReverseIterator
= std::reverse_iterator<ValueType*>;
17
using
Iterator
=
ConstIterator
;
18
using
ReverseIterator
=
ConstReverseIterator
;
19
using
SizeType
=
ice::ncount
;
20
using
StringType
=
ice::String
;
21
22
I18NString
(
ice::String
text)
noexcept
;
23
I18NString
(
ice::I18NReference
reference)
noexcept
;
24
25
bool
resolve
() noexcept;
26
auto
data
() const noexcept ->
ValueType
*;
27
auto
size
() const noexcept ->
SizeType
;
28
29
operator
ice
::
String
() const noexcept {
return
{
data
(),
size
() }; }
30
31
public
:
32
// Keep one pointer, and depending on the offset, either each for the dynamic values or the static values.
33
void
const
*
_data
=
nullptr
;
34
ice::i32
_data_offset
= 0;
// > 0 == not-resolved, < 0 == resolved
35
ice::i32
_size_offset
= 0;
36
};
37
38
}
// namespace ice
ice::I18NReference
Definition
i18n_reference.hxx:12
i18n_reference.hxx
ice
Root namespace for all APIs part of the IceShard engine project.
Definition
array.hxx:12
ice::String
ice::BasicString< char > String
Definition
string.hxx:82
ice::i32
std::int32_t i32
Definition
types.hxx:21
string.hxx
ice::I18NString::ConstReverseIterator
std::reverse_iterator< ValueType * > ConstReverseIterator
Definition
i18n_string.hxx:16
ice::I18NString::size
auto size() const noexcept -> SizeType
ice::I18NString::_data_offset
ice::i32 _data_offset
Definition
i18n_string.hxx:34
ice::I18NString::_size_offset
ice::i32 _size_offset
Definition
i18n_string.hxx:35
ice::I18NString::ConstIterator
ValueType * ConstIterator
Definition
i18n_string.hxx:15
ice::I18NString::resolve
bool resolve() noexcept
ice::I18NString::StringType
ice::String StringType
Definition
i18n_string.hxx:20
ice::I18NString::String
operator ice::String() const noexcept
Definition
i18n_string.hxx:29
ice::I18NString::I18NString
I18NString(ice::I18NReference reference) noexcept
ice::I18NString::data
auto data() const noexcept -> ValueType *
ice::I18NString::SizeType
ice::ncount SizeType
Definition
i18n_string.hxx:19
ice::I18NString::ValueType
CharType const ValueType
Definition
i18n_string.hxx:14
ice::I18NString::I18NString
I18NString(ice::String text) noexcept
ice::I18NString::CharType
char CharType
Definition
i18n_string.hxx:13
ice::I18NString::Iterator
ConstIterator Iterator
Definition
i18n_string.hxx:17
ice::I18NString::ReverseIterator
ConstReverseIterator ReverseIterator
Definition
i18n_string.hxx:18
ice::I18NString::_data
void const * _data
Definition
i18n_string.hxx:33
ice::ncount
Definition
ncount.hxx:14
ice::string::ReadOnlyOperations
Definition
readonly_operations.hxx:14
Generated by
1.18.0