antlr3-internal (3) - Linux Manuals
NAME
ANTLR3_VECTOR_struct -
SYNOPSIS
#include <antlr3collections.h>
Public Member Functions
void (ANTLR3_CDECL *free)(struct ANTLR3_VECTOR_struct *vector)
Data Fields
ANTLR3_UINT32(* add )(struct ANTLR3_VECTOR_struct *vector, void *element, void(ANTLR3_CDECL *freeptr)(void *))
void(* clear )(struct ANTLR3_VECTOR_struct *vector)
ANTLR3_UINT32 count
Number of entries currently in the list;.
void(* del )(struct ANTLR3_VECTOR_struct *vector, ANTLR3_UINT32 entry)
pANTLR3_VECTOR_ELEMENT elements
Array of pointers to vector elements.
ANTLR3_UINT32 elementsSize
Total number of entries in elements at any point in time.
ANTLR3_BOOLEAN factoryMade
Indicates if the structure was made by a factory, in which case only the factory can free the memory for the actual vector, though the vector free function is called and will recurse through its entries calling any free pointers for each entry.
void *(* get )(struct ANTLR3_VECTOR_struct *vector, ANTLR3_UINT32 entry)
ANTLR3_VECTOR_ELEMENT internal [ANTLR3_VECTOR_INTERNAL_SIZE]
Many times, a vector holds just a few nodes in an AST and it is too much overhead to malloc the space for elements so at the expense of a few bytes of memory, we hold the first few elements internally.
void *(* remove )(struct ANTLR3_VECTOR_struct *vector, ANTLR3_UINT32 entry)
ANTLR3_UINT32(* set )(struct ANTLR3_VECTOR_struct *vector, ANTLR3_UINT32 entry, void *element, void(ANTLR3_CDECL *freeptr)(void *), ANTLR3_BOOLEAN freeExisting)
ANTLR3_UINT32(* size )(struct ANTLR3_VECTOR_struct *vector)
ANTLR3_BOOLEAN(* swap )(struct ANTLR3_VECTOR_struct *, ANTLR3_UINT32 entry1, ANTLR3_UINT32 entry2)
Member Function Documentation
ANTLR3_VECTOR_struct::void (ANTLR3_CDECL * free)
Field Documentation
ANTLR3_UINT32(* ANTLR3_VECTOR_struct::add)(struct ANTLR3_VECTOR_struct *vector, void *element, void(ANTLR3_CDECL *freeptr)(void *))
Referenced by add(), addChild(), antlr3AsciiMark(), antlr3SetVectorApi(), antlr3StackPush(), fillBuffer(), freeNodeRS(), freeRS(), and replaceChildren().
void(* ANTLR3_VECTOR_struct::clear)(struct ANTLR3_VECTOR_struct *vector)
Referenced by antlr3SetVectorApi(), freeNodeRS(), freeRS(), returnVector(), and reuse().
ANTLR3_UINT32 ANTLR3_VECTOR_struct::count
Number of entries currently in the list;.
Referenced by add(), antlr3AsciiMark(), antlr3RewriteRuleElementStreamNewAE(), antlr3SetVectorApi(), antlr3StackPop(), antlr3StackSize(), antlr3VectorAdd(), antlr3VectorClear(), antlr3VectorDel(), antlr3VectorFree(), antlr3VectorSet(), antlr3VectorSize(), antrl3VectorRemove(), freeNodeRS(), mismatchIsMissingToken(), size(), and sortVector().
void(* ANTLR3_VECTOR_struct::del)(struct ANTLR3_VECTOR_struct *vector, ANTLR3_UINT32 entry)
Referenced by antlr3SetVectorApi(), antlr3StackPop(), and destroy().
pANTLR3_VECTOR_ELEMENT ANTLR3_VECTOR_struct::elements
Array of pointers to vector elements.
Referenced by antlr3SetVectorApi(), antlr3VectorAdd(), antlr3VectorClear(), antlr3VectorDel(), antlr3VectorFree(), antlr3VectorGet(), antlr3VectorResize(), antlr3VectorSet(), antlr3VectorSwap(), antrl3VectorRemove(), closeVectorFactory(), destroy(), freeNodeRS(), LB(), newVector(), replaceChildren(), and tokLT().
ANTLR3_UINT32 ANTLR3_VECTOR_struct::elementsSize
Total number of entries in elements at any point in time.
Referenced by antlr3SetVectorApi(), antlr3VectorAdd(), antlr3VectorFree(), antlr3VectorResize(), antlr3VectorSet(), antlr3VectorSwap(), and closeVectorFactory().
ANTLR3_BOOLEAN ANTLR3_VECTOR_struct::factoryMade
Indicates if the structure was made by a factory, in which case only the factory can free the memory for the actual vector, though the vector free function is called and will recurse through its entries calling any free pointers for each entry.
Referenced by antlr3RewriteRuleElementStreamNewAEV(), antlr3SetVectorApi(), antlr3VectorFactoryNew(), antlr3VectorFree(), closeVectorFactory(), freeNodeRS(), freeRS(), and newVector().
void*(* ANTLR3_VECTOR_struct::get)(struct ANTLR3_VECTOR_struct *vector, ANTLR3_UINT32 entry)
Referenced by _next(), addChild(), antlr3AsciiMark(), antlr3AsciiRewind(), antlr3SetVectorApi(), antlr3StackGet(), antlr3StackPop(), dupTree(), get(), getChild(), getFirstChildWithType(), LB(), replaceChildren(), and toStringTree().
ANTLR3_VECTOR_ELEMENT ANTLR3_VECTOR_struct::internal[ANTLR3_VECTOR_INTERNAL_SIZE]
Many times, a vector holds just a few nodes in an AST and it is too much overhead to malloc the space for elements so at the expense of a few bytes of memory, we hold the first few elements internally. It means we must copy them when we grow beyond this initial size, but that is less overhead than the malloc/free callas we would otherwise require.
Referenced by antlr3SetVectorApi(), antlr3VectorResize(), and newVector().
void*(* ANTLR3_VECTOR_struct::remove)(struct ANTLR3_VECTOR_struct *vector, ANTLR3_UINT32 entry)
Referenced by antlr3RewriteRuleElementStreamNewAE(), antlr3SetVectorApi(), deleteChild(), and replaceChildren().
ANTLR3_UINT32(* ANTLR3_VECTOR_struct::set)(struct ANTLR3_VECTOR_struct *vector, ANTLR3_UINT32 entry, void *element, void(ANTLR3_CDECL *freeptr)(void *), ANTLR3_BOOLEAN freeExisting)
Referenced by antlr3SetVectorApi(), newRaw16(), newRaw8(), replaceChildren(), and setChild().
ANTLR3_UINT32(* ANTLR3_VECTOR_struct::size)(struct ANTLR3_VECTOR_struct *vector)
Referenced by addChild(), antlr3SetVectorApi(), consume(), dupTree(), getChild(), getChildCount(), getFirstChildWithType(), hasNext(), replaceChildren(), and toStringTree().
ANTLR3_BOOLEAN(* ANTLR3_VECTOR_struct::swap)(struct ANTLR3_VECTOR_struct *, ANTLR3_UINT32 entry1, ANTLR3_UINT32 entry2)
Referenced by antlr3SetVectorApi(), and sortVector().
Author
Generated automatically by Doxygen for ANTLR3C from the source code.