Sierra Toolkit
Version of the Day
allocator_rdestl.h
1
#ifndef RDESTL_ALLOCATOR_H
2
#define RDESTL_ALLOCATOR_H
3
4
namespace
rde
5
{
6
7
// CONCEPT!
8
class
allocator
9
{
10
public
:
11
explicit
allocator(
const
char
* name =
"DEFAULT"
): m_name(name) {}
12
// Copy ctor generated by compiler.
13
// allocator(const allocator&)
14
~allocator() {}
15
16
// Generated by compiler.
17
//allocator& operator=(const allocator&)
18
19
void
* allocate(
unsigned
int
bytes,
int
flags = 0);
20
// Not supported for standard allocator for the time being.
21
void
* allocate_aligned(
unsigned
int
bytes,
unsigned
int
alignment,
int
flags = 0);
22
void
deallocate(
void
* ptr,
unsigned
int
bytes);
23
24
const
char
* get_name()
const
;
25
26
private
:
27
const
char
* m_name;
28
};
29
30
// True if lhs can free memory allocated by rhs and vice-versa.
31
inline
bool
operator==(
const
allocator&
/*lhs*/
,
const
allocator&
/*rhs*/
)
32
{
33
return
true
;
34
}
35
inline
bool
operator!=(
const
allocator& lhs,
const
allocator& rhs)
36
{
37
return
!(lhs == rhs);
38
}
39
40
inline
void
* allocator::allocate(
unsigned
int
bytes,
int
)
41
{
42
return
operator
new
(bytes);
43
}
44
45
inline
void
allocator::deallocate(
void
* ptr,
unsigned
int
)
46
{
47
operator
delete
(ptr);
48
}
49
50
}
// namespace rde
51
52
//-----------------------------------------------------------------------------
53
#endif // #ifndef RDESTL_ALLOCATOR_H
rde
Definition:
algorithm_rdestl.h:9
stk_util
stk_util
util
unused-maps
allocator_rdestl.h
Generated by
1.8.14