1+ /*
2+ ===========================================================================
3+
4+ Daemon BSD Source Code
5+ Copyright (c) 2025 Daemon Developers
6+ All rights reserved.
7+
8+ This file is part of the Daemon BSD Source Code (Daemon Source Code).
9+
10+ Redistribution and use in source and binary forms, with or without
11+ modification, are permitted provided that the following conditions are met:
12+ * Redistributions of source code must retain the above copyright
13+ notice, this list of conditions and the following disclaimer.
14+ * Redistributions in binary form must reproduce the above copyright
15+ notice, this list of conditions and the following disclaimer in the
16+ documentation and/or other materials provided with the distribution.
17+ * Neither the name of the Daemon developers nor the
18+ names of its contributors may be used to endorse or promote products
19+ derived from this software without specific prior written permission.
20+
21+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
22+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
23+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24+ DISCLAIMED. IN NO EVENT SHALL DAEMON DEVELOPERS BE LIABLE FOR ANY
25+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
26+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
28+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31+
32+ ===========================================================================
33+ */
34+ // TLMAllocator.h
35+
36+ #ifndef TLM_ALLOCATOR_H
37+ #define TLM_ALLOCATOR_H
38+
39+ #include "../Math/NumberTypes.h"
40+
41+ #include "../Memory/Allocator.h"
42+
43+ struct TLMAllocator : public Allocator {
44+ byte * Alloc ( const uint64 size , const uint64 alignment ) override ;
45+ void Free ( byte * memory ) override ;
46+ };
47+
48+ extern thread_local TLMAllocator TLMAlloc ;
49+
50+ #endif // TLM_ALLOCATOR_H
0 commit comments