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
#pragma once
2
#include <
ice/i18n_reference.hxx
>
3
#include <
ice/string.hxx
>
4
5
namespace
ice
6
{
7
8
struct
I18NString
:
ice::string::ReadOnlyOperations
9
{
10
using
CharType
= char;
11
using
ValueType
=
CharType
const
;
12
using
ConstIterator
=
ValueType
*;
13
using
ConstReverseIterator
= std::reverse_iterator<ValueType*>;
14
using
Iterator
=
ConstIterator
;
15
using
ReverseIterator
=
ConstReverseIterator
;
16
using
SizeType
=
ice::ncount
;
17
using
StringType
=
ice::String
;
18
19
I18NString
(
ice::String
text)
noexcept
;
20
I18NString
(
ice::I18NReference
reference)
noexcept
;
21
22
bool
resolve
() noexcept;
23
auto
data
() const noexcept ->
ValueType
*;
24
auto
size
() const noexcept ->
SizeType
;
25
26
operator
ice
::
String
() const noexcept {
return
{
data
(),
size
() }; }
27
28
public
:
29
// Keep one pointer, and depending on the offset, either each for the dynamic values or the static values.
30
void
const
*
_data
=
nullptr
;
31
ice::i32
_data_offset
= 0;
// > 0 == not-resolved, < 0 == resolved
32
ice::i32
_size_offset
= 0;
33
};
34
35
}
// namespace ice
ice::I18NReference
Definition
i18n_reference.hxx:9
i18n_reference.hxx
ice
SPDX-License-Identifier: MIT.
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:13
ice::I18NString::size
auto size() const noexcept -> SizeType
ice::I18NString::_data_offset
ice::i32 _data_offset
Definition
i18n_string.hxx:31
ice::I18NString::_size_offset
ice::i32 _size_offset
Definition
i18n_string.hxx:32
ice::I18NString::ConstIterator
ValueType * ConstIterator
Definition
i18n_string.hxx:12
ice::I18NString::resolve
bool resolve() noexcept
ice::I18NString::StringType
ice::String StringType
Definition
i18n_string.hxx:17
ice::I18NString::String
operator ice::String() const noexcept
Definition
i18n_string.hxx:26
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:16
ice::I18NString::ValueType
CharType const ValueType
Definition
i18n_string.hxx:11
ice::I18NString::I18NString
I18NString(ice::String text) noexcept
ice::I18NString::CharType
char CharType
Definition
i18n_string.hxx:10
ice::I18NString::Iterator
ConstIterator Iterator
Definition
i18n_string.hxx:14
ice::I18NString::ReverseIterator
ConstReverseIterator ReverseIterator
Definition
i18n_string.hxx:15
ice::I18NString::_data
void const * _data
Definition
i18n_string.hxx:30
ice::ncount
Definition
ncount.hxx:14
ice::string::ReadOnlyOperations
Definition
readonly_operations.hxx:14
Generated by
1.18.0