sc::PoolData(3)

πŸ“¦
version 2.3.1 Β· 4 versions
, in fedora 43, ubuntu noble

πŸ’– sc::PoolData(3) πŸ’–

okay bestie, welcome to the manual page for sc::PoolData, straight outta the MPQC library, version 2.3.1. this is from the Library Functions Manual, and it's giving very much "low-level memory pool internals" energy. let's get into it 🫢


✨ NAME ✨

sc::PoolData β€” no cap, that's the whole name. it's a class, it's pool data, it's iconic πŸ’…


🌸 SYNOPSIS 🌸

πŸŽ€ Public Types

  • enum { magic = 0x1f1d1e1c } β€” yes bestie, a whole anonymous enum with exactly one (1) magic number. periodt.

πŸ¦‹ Public Member Functions

PoolData (size_t size)
PoolData * next ()
PoolData * prev ()
void next (PoolData *)
void prev (PoolData *)
void prev_next (PoolData *, PoolData *)
PoolData * next_free ()
PoolData * prev_free ()
void next_free (PoolData *)
void prev_free (PoolData *)
void prev_next_free (PoolData *, PoolData *)
void set_magic (int=magic)
void * data ()
void check (void *lower=(void *) 0x0, void *upper=(void *) 0x7fffffffL)

πŸ‘‘ Public Attributes

int magic_
size_t size_
unsigned int free_:1
unsigned int flags_:15
union {
   FreeData f
   UsedData u
};

πŸ’œ DESCRIPTION πŸ’œ

so the original manpage is kinda shy and doesn't give us a big paragraph here, but the vibes are immaculate. what we do have is the full menu of public types, member functions, and attributes β€” and we're gonna go through every single one like it's a group chat recap. no skipping, no summarizing, fr fr.

🌈 Public Types β€” the details

  • enum { magic = 0x1f1d1e1c } β€” this is the magic value, and it is exactly 0x1f1d1e1c. not a different number. not "approximately". that's the one. remember it, bestie 🧚

πŸ’… Public Member Functions β€” one by one

  • PoolData (size_t size) β€” constructor that takes a size_t called size. that's it, that's the tea.
  • PoolData * next () β€” returns a PoolData *. it's the next one. slay.
  • PoolData * prev () β€” returns a PoolData *. it's the previous one. also slay.
  • void next (PoolData *) β€” sets the next pointer from a PoolData * argument. returns nothing.
  • void prev (PoolData *) β€” sets the previous pointer from a PoolData * argument. returns nothing.
  • void prev_next (PoolData *, PoolData *) β€” takes two PoolData * arguments and sets both prev and next at once. efficient queen πŸ‘‘
  • PoolData * next_free () β€” returns a PoolData * for the next free thing.
  • PoolData * prev_free () β€” returns a PoolData * for the previous free thing.
  • void next_free (PoolData *) β€” sets the next-free pointer from a PoolData *. returns nothing.
  • void prev_free (PoolData *) β€” sets the previous-free pointer from a PoolData *. returns nothing.
  • void prev_next_free (PoolData *, PoolData *) β€” takes two PoolData * arguments and sets both free-list pointers at once. double slay.
  • void set_magic (int=magic) β€” takes an int and its default is literally magic (aka 0x1f1d1e1c). cute. returns nothing.
  • void * data () β€” returns a void * pointing at the data. the main character of the whole class, honestly.
  • void check (void *lower=(void *) 0x0, void *upper=(void *) 0x7fffffffL) β€” takes two void * args: lower defaults to (void *) 0x0 and upper defaults to (void *) 0x7fffffffL. returns nothing. it checks things, bestie.

πŸ’– Public Attributes β€” the whole fit

  • int magic_ β€” an int named magic_. the underscore is part of the name, don't come for her.
  • size_t size_ β€” a size_t named size_. again, underscore stays.
  • unsigned int free_:1 β€” an unsigned int bitfield named free_ that's exactly 1 bit wide. tiny but mighty.
  • unsigned int flags_:15 β€” an unsigned int bitfield named flags_ that's exactly 15 bits wide. that's a lot of flags, ngl.
  • union { FreeData f; UsedData u; }; β€” a union containing a FreeData member named f and a UsedData member named u. two moods, one union πŸ¦‹
⚠️ heads up: the manpage doesn't spill any extra lore about what each function or field does beyond the signatures above. we are not out here inventing behavior. if you need the deets, go read the source, iykyk.

🌟 Author 🌟

Generated automatically by Doxygen for MPQC from the source code. so it wasn't even a human author, it was Doxygen doing its little automated thing. and honestly? it ate. πŸ’…


and that's the whole page, bestie πŸŽ€ this was sc::PoolData(3) from MPQC, Version 2.3.1, and the footer is literally just that β€” MPQC and Version 2.3.1 and the page name. no cap, we covered every option, every signature, every default, every bitfield, every union member. mwah πŸ’–βœ¨

πŸ“¦ where this page comes from