File: ACE_Cached_Mem_Pool_Node.3

package info (click to toggle)
ace 5.2.1-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 26,856 kB
  • ctags: 18,677
  • sloc: cpp: 171,831; makefile: 48,840; sh: 10,192; perl: 8,582; exp: 787; yacc: 387; lex: 140; csh: 20
file content (65 lines) | stat: -rw-r--r-- 2,062 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
.TH ACE_Cached_Mem_Pool_Node 3 "1 Dec 2001" "ACE" \" -*- nroff -*-
.ad l
.nh
.SH NAME
ACE_Cached_Mem_Pool_Node \-  keeps unused memory within a free list. 
.SH SYNOPSIS
.br
.PP
\fC#include <Malloc_T.h>\fR
.PP
.SS Public Methods

.in +1c
.ti -1c
.RI "T* \fBaddr\fR (void)"
.br
.RI "\fIreturn the address of free memory.\fR"
.ti -1c
.RI "ACE_Cached_Mem_Pool_Node<T>* \fBget_next\fR (void)"
.br
.RI "\fIget the next ACE_Cached_Mem_Pool_Node in a list.\fR"
.ti -1c
.RI "void \fBset_next\fR (ACE_Cached_Mem_Pool_Node<T> *ptr)"
.br
.RI "\fIset the next ACE_Cached_Mem_Pool_Node.\fR"
.in -1c
.SS Private Attributes

.in +1c
.ti -1c
.RI "ACE_Cached_Mem_Pool_Node<T>* \fBnext_\fR"
.br
.in -1c
.SH DETAILED DESCRIPTION
.PP 

.SS template<class T>  template class ACE_Cached_Mem_Pool_Node
 keeps unused memory within a free list.
.PP
.PP
 The length of a piece of unused memory must be greater than sizeof (void*). This makes sense because we'll waste even more memory if we keep them in a separate data structure. This class should really be placed within the next class . But this can't be done due to C++ compiler portability problems. 
.PP
.SH MEMBER FUNCTION DOCUMENTATION
.PP 
.SS template<classT> T * ACE_Cached_Mem_Pool_Node<T>::addr (void)
.PP
return the address of free memory.
.PP
.SS template<classT> ACE_Cached_Mem_Pool_Node< T >* ACE_Cached_Mem_Pool_Node<T>::get_next (void)
.PP
get the next ACE_Cached_Mem_Pool_Node in a list.
.PP
.SS template<classT> void ACE_Cached_Mem_Pool_Node<T>::set_next (ACE_Cached_Mem_Pool_Node< T >* ptr)
.PP
set the next ACE_Cached_Mem_Pool_Node.
.PP
.SH MEMBER DATA DOCUMENTATION
.PP 
.SS template<classT> ACE_Cached_Mem_Pool_Node< T >* ACE_Cached_Mem_Pool_Node<T>::next_\fC [private]\fR
.PP
Since memory is not used when placed in a free list, we can use it to maintain the structure of free list. I was using union to hide the fact of overlapping memory usage. However, that cause problem on MSVC. So, I now turn back to hack this with casting. 

.SH AUTHOR
.PP 
Generated automatically by Doxygen for ACE from the source code.