ALib C++ Library
by
Library Version:
2412 R0
Documentation generated by
Loading...
Searching...
No Matches
home
dev
A-Worx
ALib
src
alib
boxing
boxing/fwds.hpp
Go to the documentation of this file.
1
//==================================================================================================
2
/// \file
3
/// This header file is part of module \alib_boxing of the \aliblong.
4
///
5
/// \emoji :copyright: 2013-2024 A-Worx GmbH, Germany.
6
/// Published under \ref mainpage_license "Boost Software License".
7
//==================================================================================================
8
#ifndef HPP_ALIB_BOXING_FWDS
9
#define HPP_ALIB_BOXING_FWDS 1
10
#pragma once
11
#if !defined(DOXYGEN)
12
# include "
alib/alib.hpp
"
13
#endif
14
15
ALIB_ASSERT_MODULE
(BOXING)
16
#include "alib/lang/allocation.hpp"
17
18
namespace
alib
{
19
20
#if ALIB_MONOMEM
21
22
#if !defined(ALIB_MONOMEM_POOLALLOCATOR_DEFAULT_ALIGNMENT)
23
# define ALIB_MONOMEM_POOLALLOCATOR_DEFAULT_ALIGNMENT alignof(uint64_t)
24
#endif
25
26
namespace
monomem {
27
template
<
typename
TAllocator>
class
TMonoAllocator;
28
template
<
typename
TAllocator,
size_t
TAlignment>
class
TPoolAllocator;
29
}
30
31
using
MonoAllocator
=
monomem::TMonoAllocator<lang::HeapAllocator>
;
32
using
PoolAllocator
=
monomem::TPoolAllocator<MonoAllocator , ALIB_MONOMEM_POOLALLOCATOR_DEFAULT_ALIGNMENT>
;
33
using
PoolAllocatorHA
=
monomem::TPoolAllocator<lang::HeapAllocator , ALIB_MONOMEM_POOLALLOCATOR_DEFAULT_ALIGNMENT>
;
34
#endif
35
namespace
boxing {
36
37
namespace
detail {
struct
VTable; }
38
class
Box
;
39
40
template
<
typename
TAllocator>
41
class
TBoxes
;
42
43
struct
Enum
;
44
45
struct
FHashcode
;
46
struct
FClone
;
47
struct
FIsNotNull
;
48
struct
FIsEmpty;
49
struct
FEquals
;
50
struct
FIsLess
;
51
struct
FIsTrue
;
52
IF_ALIB_STRINGS
(
53
template<typename TChar, typename TAllocator>
54
struct
FAppend
; )
55
56
57
}
// namespace alib[::boxing]
58
59
60
/// Type alias in namespace \b alib.
61
using
Box
=
boxing::Box
;
62
63
/// Type alias in namespace \b alib.
64
using
BoxesHA
=
boxing::TBoxes<lang::HeapAllocator>
;
65
66
#if ALIB_MONOMEM
67
/// Type alias in namespace \b alib.
68
using
BoxesMA
=
boxing::TBoxes<MonoAllocator>
;
69
70
/// Type alias in namespace \b alib.
71
using
BoxesPA
=
boxing::TBoxes<PoolAllocator>
;
72
#endif
73
74
/// Type alias in namespace \b alib.
75
using
Enum
=
boxing::Enum
;
76
77
/// Type alias in namespace \b alib.
78
using
FHashcode
=
boxing::FHashcode
;
79
80
/// Type alias in namespace \b alib.
81
using
FClone
=
boxing::FClone
;
82
83
/// Type alias in namespace \b alib.
84
using
FEquals
=
boxing::FEquals
;
85
86
/// Type alias in namespace \b alib.
87
using
FIsNotNull
=
boxing::FIsNotNull
;
88
89
/// Type alias in namespace \b alib.
90
using
FIsLess
=
boxing::FIsLess
;
91
92
/// Type alias in namespace \b alib.
93
using
FIsTrue
=
boxing::FIsTrue
;
94
95
#if ALIB_STRINGS
96
/// Type alias in namespace \b alib.
97
template
<
typename
TChar,
typename
TAllocator>
98
using
FAppend
=
boxing::FAppend<TChar, TAllocator>
;
99
#endif
100
}
// namespace [alib]
101
102
#endif
// HPP_ALIB_BOXING_FWDS
103
alib.hpp
alib::boxing::Box
Definition
box.inl:39
alib::boxing::TBoxes
Definition
boxing/fwds.hpp:41
alib::monomem::TMonoAllocator< lang::HeapAllocator >
alib::monomem::TPoolAllocator< MonoAllocator, ALIB_MONOMEM_POOLALLOCATOR_DEFAULT_ALIGNMENT >
ALIB_ASSERT_MODULE
#define ALIB_ASSERT_MODULE(modulename)
Definition
alib.hpp:223
IF_ALIB_STRINGS
#define IF_ALIB_STRINGS(...)
Definition
alib.hpp:328
alib
Definition
alib.cpp:69
alib::boxing::Enum
Definition
enum.hpp:54
alib::boxing::FAppend
Definition
functions.inl:410
alib::boxing::FClone
Definition
functions.inl:335
alib::boxing::FEquals
Definition
functions.inl:118
alib::boxing::FHashcode
Definition
functions.inl:75
alib::boxing::FIsLess
Definition
functions.inl:236
alib::boxing::FIsNotNull
Definition
functions.inl:35
alib::boxing::FIsTrue
Definition
functions.inl:357