ANTLR3_VECTOR_struct man page

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(), addNavigationNode(), antlr38BitMark(), antlr3SetVectorApi(), antlr3StackPush(), fillBuffer(), freeNodeRS(), freeRS(), and replaceChildren().

void(* ANTLR3_VECTOR_struct::clear) (struct ANTLR3_VECTOR_struct *vector)

Referenced by antlr3InputReset(), antlr3SetVectorApi(), freeNodeRS(), freeRS(), reset(), returnVector(), and reuse().

ANTLR3_UINT32 ANTLR3_VECTOR_struct::count

Number of entries currently in the list;.

Referenced by _LT(), add(), antlr38BitMark(), antlr3RewriteRuleElementStreamNewAE(), antlr3SetVectorApi(), antlr3StackPop(), antlr3StackSize(), antlr3VectorAdd(), antlr3VectorClear(), antlr3VectorDel(), antlr3VectorFree(), antlr3VectorSet(), antlr3VectorSize(), antrl3VectorRemove(), consume(), fillBuffer(), freeNodeRS(), 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(), skipOffTokenChannels(), skipOffTokenChannelsReverse(), 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 _LT(), _next(), addChild(), antlr38BitMark(), antlr38BitRewind(), 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(), newRaw8(), newRawUTF16(), replaceChildren(), and setChild().

ANTLR3_UINT32(* ANTLR3_VECTOR_struct::size) (struct ANTLR3_VECTOR_struct *vector)

Referenced by addChild(), antlr3SetVectorApi(), dupTree(), getChild(), getChildCount(), getFirstChildWithType(), hasNext(), replaceChildren(), size(), 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.

Referenced By

antlr3-clear(3), antlr3-elementsSize(3), antlr3-internal(3) and antlr3-swap(3) are aliases of ANTLR3_VECTOR_struct(3).

Tue Oct 4 2016 Version 3.3.1 ANTLR3C