sc::GlobalMsgIter(3)

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

πŸ’– sc::GlobalMsgIter πŸ’–

okay bestie, pull up a chair πŸͺ‘ because we're talking about sc::GlobalMsgIter β€” that's the sc:: one, from the Library Functions Manual, section 3 if you're keeping score. It's the little iterator that handles your global message passing vibes and honestly? she's serving.


✨ NAME ✨

sc::GlobalMsgIter β€” yes that's her whole name, she's mysterious like that πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

She inherits from sc::DescribedClass.

And get this β€” she's inherited by sc::HypercubeGMI. so she's got a legacy, a whole bloodline, main character energy fr fr πŸ‘‘

🌸 Public Member Functions 🌸

okay so here's her own repertoire, no nepo baby behaviour, all her own work:

  • GlobalMsgIter(int nproc, int me, int root=0) β€” the constructor, she's born. root defaults to 0 because of course it does.
  • void backwards() β€” go backwards, queen.
  • void forwards() β€” and now go forwards. versatility ✨
  • void next() β€” next one, please, we're moving.
  • int done() β€” are we done here or what
  • int n() β€” the n
  • int sendto() β€” who are we sending to
  • int send() β€” send it
  • int recvfrom() β€” who sent this to us
  • int recv() β€” receive it

πŸ’œ Public Member Functions inherited from sc::DescribedClass πŸ’œ

the family traits, passed down:

  • DescribedClass(const DescribedClass &) β€” copy constructor, she's a copycat (affectionate)
  • DescribedClass & operator=(const DescribedClass &) β€” assignment operator, giving main character the same energy
  • ClassDesc * class_desc() const throw() β€” This returns the unique pointer to the ClassDesc corresponding to the given type_info object.
  • const char * class_name() const β€” Return the name of the object's exact type. (yes, exact type, she doesn't do approximations)
  • int class_version() const β€” Return the version of the class.
  • virtual void print(std::ostream &=ExEnv::out0()) const β€” Print the object. that's it, that's the job πŸŽ€

🌈 Public Member Functions inherited from sc::RefCount 🌈

the reference-counting side of the family, obsessed with her tbh:

  • int lock_ptr() const β€” Lock this object.
  • int unlock_ptr() const β€” Unlock this object.
  • void use_locks(bool inVal) β€” start and stop using locks on this object
  • refcount_t nreference() const β€” Return the reference count.
  • refcount_t reference() β€” Increment the reference count and return the new count.
  • refcount_t dereference() β€” Decrement the reference count and return the new count.
  • int managed() const β€” (yes she's listed twice in the original, we don't question the icon's choices)
  • void unmanage() β€” Turn off the reference counting mechanism for this object.
  • int managed() const β€” Return 1 if the object is managed. Otherwise return 0.

🫢 Public Member Functions inherited from sc::Identity 🫢

  • Identifier identifier() β€” Return the Identifier for this argument.

🧚 Protected Member Functions 🧚

these are the private-ish ones, for the inner circle only:

  • virtual int fwdsendto()=0 β€” pure virtual, meaning you gotta implement this yourself, no skipping 😀
  • virtual int fwdsend()=0 β€” also pure virtual, also on you
  • virtual int fwdrecvfrom()=0 β€” pure virtual, still on you bestie
  • virtual int fwdrecv()=0 β€” pure virtual, last one, you got this

πŸ’€ Protected Member Functions inherited from sc::RefCount πŸ’€

  • RefCount(const RefCount &) β€” the copy constructor
  • RefCount & operator=(const RefCount &) β€” and the assignment operator

πŸ“ Protected Attributes πŸ“

the lil data members tucked away:

  • int me_
  • int nproc_
  • int root_
  • int i_
  • int n_
  • int fwd_

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for MPQC from the source code. yeah, a robot wrote her bio, she's still iconic πŸ’…βœ¨


and that's the whole page, bestie 🫢 this was MPQC Version 2.3.1, filed under sc::GlobalMsgIter(3). go forth and iterate, globally πŸŒπŸ’–

πŸ“¦ where this page comes from