IceShard
1
A personal game engine project, with development focused on 2D/2.5D games.
Toggle main menu visibility
Loading...
Searching...
No Matches
memsys
public
ice
mem_types.hxx
Go to the documentation of this file.
1
3
4
#pragma once
5
#include <
ice/base.hxx
>
6
#include <
ice/concept/strong_type_integral.hxx
>
7
8
namespace
ice
9
{
10
11
struct
usize
;
12
struct
isize
;
13
struct
meminfo
;
14
15
enum class
ualign
:
ice::u32
;
16
17
struct
Data
;
18
struct
Memory
;
19
20
template
<
bool
WithDebugInfo>
21
struct
AllocatorBase
;
22
23
class
AllocatorDebugInfo
;
24
25
using
Allocator
=
ice::AllocatorBase<ice::build::is_debug || ice::build::is_develop>
;
26
27
// MEMORY TYPE CONCEPTS
28
29
namespace
concepts
30
{
31
32
template
<
typename
T>
33
concept
RWDataObject
=
requires
(T t) {
34
{ t.location } -> std::convertible_to<void*>;
35
{ t.size } -> std::convertible_to<ice::usize>;
36
{ t.alignment } -> std::convertible_to<ice::ualign>;
37
};
38
39
template
<
typename
T>
40
concept
RODataObject
=
requires
(T t) {
41
{ t.location } -> std::convertible_to<void const*>;
42
{ t.size } -> std::convertible_to<ice::usize>;
43
{ t.alignment } -> std::convertible_to<ice::ualign>;
44
};
45
46
}
// namespace concepts
47
48
}
// namespace ice
base.hxx
ice::AllocatorDebugInfo
Definition
mem_allocator.hxx:106
ice::concepts::RODataObject
Definition
mem_types.hxx:40
ice::concepts::RWDataObject
Definition
mem_types.hxx:33
ice::concepts
Definition
container_concepts.hxx:12
ice
SPDX-License-Identifier: MIT.
Definition
array.hxx:12
ice::u32
std::uint32_t u32
Definition
types.hxx:26
ice::Allocator
ice::AllocatorBase< ice::build::is_debug||ice::build::is_develop > Allocator
Definition
mem_types.hxx:25
ice::ualign
ualign
Definition
mem_size_types.hxx:39
strong_type_integral.hxx
ice::AllocatorBase
Definition
mem_allocator.hxx:14
ice::Data
Definition
mem_data.hxx:17
ice::Memory
Definition
mem_memory.hxx:13
ice::isize
Represents a signed size value on the given platform.
Definition
mem_size_types.hxx:14
ice::meminfo
Definition
mem_size_types.hxx:59
ice::usize
Represents a unsigned size value on the given platform.
Definition
mem_size_types.hxx:26
Generated by
1.18.0