Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# ACE_PI_Control_Block Class Reference

This information is stored in memory allocated by the <Memory_Pool>. More...

`#include <PI_Malloc.h>`

Collaboration diagram for ACE_PI_Control_Block:

[legend]
List of all members.

## Public Types
typedef ACE_Based_Pointer< ACE_Malloc_Header> | MALLOC_HEADER_PTR
typedef ACE_Based_Pointer< ACE_Name_Node> | NAME_NODE_PTR
typedef ACE_Based_Pointer_Basic< char> | CHAR_PTR
## Public Methods
void | dump (void) const
| Dump the state of the object.
## Public Attributes
int | ref_counter_
| Reference counter.
NAME_NODE_PTR | name_head_
| Head of the linked list of Name Nodes.
MALLOC_HEADER_PTR | freep_
| Current head of the freelist.
char | lock_name_ [MAXNAMELEN]
| Name of lock thats ensures mutual exclusion.
long | align_ [ACE_PI_CONTROL_BLOCK_ALIGN_LONGS < 1 ? 1 : ACE_PI_CONTROL_BLOCK_ALIGN_LONGS]
| Force alignment.
ACE_Malloc_Header | base_
| Dummy node used to anchor the freelist. This needs to come last...
## Static Public Methods
void | print_alignment_info (void)
| Print out a bunch of size info for debugging.
## Private Methods
void | operator= (const ACE_Control_Block &)

## Detailed Description

This information is stored in memory allocated by the <Memory_Pool>.

This class implements the control block structure that can be used in a "position indepent" fashion, i.e., you don't need to "map" the underlying memory pool to the same address in processes sharing the memory. The tradoff of this flexibility is more expensive malloc/free operations.

## Member Typedef Documentation

typedef ACE_Based_Pointer_Basic<char> ACE_PI_Control_Block::CHAR_PTR

typedef ACE_Based_Pointer<ACE_Malloc_Header> ACE_PI_Control_Block::MALLOC_HEADER_PTR

typedef ACE_Based_Pointer<ACE_Name_Node> ACE_PI_Control_Block::NAME_NODE_PTR

## Member Function Documentation

void ACE_PI_Control_Block::dump ( | void ) const

| Dump the state of the object.

void ACE_PI_Control_Block::operator= ( | const ACE_Control_Block & )`[private]`

void ACE_PI_Control_Block::print_alignment_info ( | void )`[static]`

| Print out a bunch of size info for debugging.

## Member Data Documentation

long ACE_PI_Control_Block::align_[ACE_PI_CONTROL_BLOCK_ALIGN_LONGS< 1?1:ACE_PI_CONTROL_BLOCK_ALIGN_LONGS]

| Force alignment.

ACE_Malloc_Header ACE_PI_Control_Block::base_

| Dummy node used to anchor the freelist. This needs to come last...

MALLOC_HEADER_PTR ACE_PI_Control_Block::freep_

| Current head of the freelist.

char ACE_PI_Control_Block::lock_name_[MAXNAMELEN]

| Name of lock thats ensures mutual exclusion.

NAME_NODE_PTR ACE_PI_Control_Block::name_head_

| Head of the linked list of Name Nodes.

int ACE_PI_Control_Block::ref_counter_

| Reference counter.

The documentation for this class was generated from the following files:

- PI_Malloc.h
- PI_Malloc.cpp