Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

obstack Struct Reference

object stack. Control block for each object in obstack. More...

#include <obstack.h>

Collaboration diagram for obstack:

Collaboration graph
[legend]
List of all members.

Public Attributes

long chunk_size
_obstack_chunkchunk
char * object_base
char * next_free
char * chunk_limit
PTR_INT_TYPE temp
int alignment_mask
_obstack_chunk *(* chunkfun )(int)
void(* freefun )(void *)
char * extra_arg
unsigned use_extra_arg:1
unsigned maybe_empty_object:1
unsigned alloc_failed:1

Detailed Description

object stack. Control block for each object in obstack.


Member Data Documentation

int obstack::alignment_mask
 

Mask of alignment for each object.

unsigned obstack::alloc_failed
 

chunk alloc func returned 0

struct _obstack_chunk* obstack::chunk
 

address of current struct obstack_chunk

char* obstack::chunk_limit
 

address of char after current chunk

long obstack::chunk_size
 

preferred size to allocate chunks in

struct _obstack_chunk*(* obstack::chunkfun)(int)
 

User's fcn to allocate a chunk.

char* obstack::extra_arg
 

first arg for chunk alloc/dealloc funcs

void(* obstack::freefun)(void *)
 

User's function to free a chunk.

unsigned obstack::maybe_empty_object
 

There is a possibility that the current chunk contains a zero-length object. This prevents freeing the chunk if we allocate a bigger chunk to replace it.

char* obstack::next_free
 

where to add next char to current object

char* obstack::object_base
 

address of object we are building

PTR_INT_TYPE obstack::temp
 

Temporary for some macros.

unsigned obstack::use_extra_arg
 

chunk alloc/dealloc funcs take extra arg


The documentation for this struct was generated from the following file:
Generated on Sat Sep 17 10:30:45 2005 for XconqKernel by doxygen 1.3.6