ALib C++ Library
Library Version: 2402 R1
Documentation generated by doxygen
Loading...
Searching...
No Matches
monomem/fwds.hpp
Go to the documentation of this file.
1/** ************************************************************************************************
2 * \file
3 * This header file is part of module \alib_monomem 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_MONOMEM_FWDS
9#define HPP_ALIB_MONOMEM_FWDS 1
10
11#if !defined (HPP_ALIB_LANG_COMMONENUMS_DEFS)
13#endif
14
15ALIB_ASSERT_MODULE(MONOMEM)
16
17namespace alib { namespace monomem {
18
19/** ************************************************************************************************
20 * This struct contains three tag-types which denote the type of node-recycling that a container
21 * instantiation is deemed to perform. One of these inner types is to be set as the value
22 * for a corresponding template parameter named \p{TRecycling} found in container types
23 * of this module.
24 *
25 * In the case \b Shared is given, the container type will expose a type definition named
26 * \p{TSharedRecycler} which can be used to define the external shared recycler object.
27 * This object has then to be passed to the constructor of the container instance.
28 *
29 * \see
30 * Chapter \ref alib_monomem_intro_recycling of the Programmer's Manual
31 * for this \alibmod.
32 **************************************************************************************************/
34{
35 /** Denotes a private recycling. */
36 struct Private {};
37
38 /** Denotes a shared recycling. */
39 struct Shared {};
40
41 /** Denotes that no recycling should be performed. */
42 struct None {};
43}; // struct Recycling
44
45//#################################### Forward declarations ####################################
46 class MonoAllocator;
47template<typename T,
48 typename TRecycling = Recycling::Private > class List;
49
50template<typename T,
51 typename TStored,
52 typename TKey,
53 typename TIfMapped,
54 typename THash,
55 typename TEqual,
56 typename TAccess,
57 lang::Caching THashCaching,
58 typename TRecycling > class HashTable;
59
60
61} // namespace alib[::monomem]
62
63/// Type alias in namespace \b alib.
65
66} // namespace [alib]
67
68
69#endif // HPP_ALIB_MONOMEM_FWDS
#define ALIB_ASSERT_MODULE(modulename)
Definition alib.hpp:190
Definition alib.cpp:57