ANTLR3_VECTOR_FACTORY_struct(3)

πŸ“¦ version 3.4, in fedora 43

πŸ’– ANTLR3_VECTOR_FACTORY_struct πŸ’–

okay bestie, so this page is from the ANTLR3C manual, and it's literally all about ANTLR3_VECTOR_FACTORY_struct πŸ¦‹ β€” the lil struct that keeps tabs on vectors inside a vector, and auto-deletes them when the factory gets closed. no cap.


✨ NAME ✨

ANTLR3_VECTOR_FACTORY_struct β€” the struct that tracks vectors in a vector, and auto deletes the vectors in the vector factory when it's closed. periodt. πŸ’…


🌸 SYNOPSIS 🌸

#include <antlr3collections.h>

πŸŽ€ Data Fields πŸŽ€

  • void(* close )(struct ANTLR3_VECTOR_FACTORY_struct *factory) β€” the function that closes the vector factory.
  • pANTLR3_STACK freeStack β€” consumers from the factory can release a factory-produced vector back to the factory so it can be reused (and thus conserve memory πŸ’Ύ) by another caller.
  • pANTLR3_VECTOR(* newVector )(struct ANTLR3_VECTOR_FACTORY_struct *factory) β€” the function that supplies a new vector.
  • ANTLR3_UINT32 nextVector β€” the next vector available in the pool.
  • pANTLR3_VECTOR * pools β€” the list of all vector pools allocated so far.
  • void(* returnVector )(struct ANTLR3_VECTOR_FACTORY_struct *factory, pANTLR3_VECTOR vector) β€” the function that returns a vector to the factory for reuse.
  • ANTLR3_INT32 thisPool β€” count of the vector pools allocated so far (current active pool).
  • ANTLR3_VECTOR unTruc β€” a trick to quickly initialize a new vector via memcpy and not a function call. sneaky iconic πŸ’…

🫢 Detailed Description 🫢

Structure that tracks vectors in a vector and auto deletes the vectors in the vector factory when closed.

like, it's the vibe check for your vectors, fr fr. πŸ‘‘


🌈 Field Documentation 🌈

⭐ void(* ANTLR3_VECTOR_FACTORY_struct::close) (struct ANTLR3_VECTOR_FACTORY_struct *factory)

Function to close the vector factory.

Referenced by antlr3VectorFactoryNew(), and factoryClose().


⭐ pANTLR3_STACK ANTLR3_VECTOR_FACTORY_struct::freeStack

Consumers from the factory can release a factory produced vector back to the factory so that it may be reused (and thus conserve memory) by another caller. The available vectors are stored here. Note that the only vectors avaible in the free chain are produced by this factory, so they need not be explicitly freed when the factory is closed.

ngl that "need not be explicitly freed" part is the bestie behavior we love to see πŸ₯°

Referenced by antlr3VectorFactoryNew(), closeVectorFactory(), newVector(), and returnVector().


⭐ pANTLR3_VECTOR(* ANTLR3_VECTOR_FACTORY_struct::newVector) (struct ANTLR3_VECTOR_FACTORY_struct *factory)

Function to supply a new vector.

Referenced by add(), and antlr3VectorFactoryNew().


⭐ ANTLR3_UINT32 ANTLR3_VECTOR_FACTORY_struct::nextVector

The next vector available in the pool.

Referenced by closeVectorFactory(), newPool(), and newVector().


⭐ pANTLR3_VECTOR* ANTLR3_VECTOR_FACTORY_struct::pools

List of all vector pools allocated so far.

Referenced by antlr3VectorFactoryNew(), closeVectorFactory(), newPool(), and newVector().


⭐ void(* ANTLR3_VECTOR_FACTORY_struct::returnVector) (struct ANTLR3_VECTOR_FACTORY_struct *factory, pANTLR3_VECTOR vector)

Function to return a vector to the factory for reuse.

Referenced by antlr3VectorFactoryNew(), freeNodeRS(), and freeRS().


⭐ ANTLR3_INT32 ANTLR3_VECTOR_FACTORY_struct::thisPool

Count of the vector pools allocated so far (current active pool)

Referenced by antlr3VectorFactoryNew(), closeVectorFactory(), newPool(), and newVector().


⭐ ANTLR3_VECTOR ANTLR3_VECTOR_FACTORY_struct::unTruc

Trick to quickly initialize a new vector via memcpy and not a function call.

Referenced by antlr3VectorFactoryNew().


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for ANTLR3C from the source code.


and that's the whole page, bestie πŸ’œ it's giving Version 3.3.1, dated Tue Jul 29 2025 β€” so yeah, shoutout to Doxygen for auto-generating this whole thing and to ANTLR3C for the source code, mwah πŸŽ€βœ¨ bye!! πŸ¦‹

πŸ“¦ where this page comes from