
#include <ampiimpl.h>


Public Member Functions | |
| Amm () noexcept | |
| ~Amm () | |
| AmmEntry< T > * | newEntry (int tag, int src, T msg) noexcept |
| AmmEntry< T > * | newEntry (T msg) noexcept |
| void | deleteEntry (AmmEntry< T > *ent) noexcept |
| void | freeAll () noexcept |
| void | flushMsgs () noexcept |
| bool | match (const int tags1[AMM_NTAGS], const int tags2[AMM_NTAGS]) const noexcept |
| void | put (T msg) noexcept |
| void | put (int tag, int src, T msg) noexcept |
| T | get (int tag, int src, int *rtags=NULL) noexcept |
| T | probe (int tag, int src, int *rtags) noexcept |
| int | size () const noexcept |
| void | pup (PUP::er &p, AmmPupMessageFn msgpup) noexcept |
Data Fields | |
| AmmEntry< T > * | first |
| AmmEntry< T > ** | lasth |
Private Attributes | |
| int | startIdx |
| std::bitset< N > | validEntries |
| std::array< AmmEntry< T >, N > | entryPool |
Definition at line 170 of file ampiimpl.h.
Definition at line 181 of file ampiimpl.h.
Definition at line 183 of file ampiimpl.h.
Referenced by Amm< T, N >::put().

Definition at line 199 of file ampiimpl.h.
Definition at line 215 of file ampiimpl.h.
Referenced by Amm< T, N >::freeAll(), Amm< T, N >::get(), and Amm< T, N >::pup().

| void Amm< T, N >::freeAll | ( | ) | [inline] |
Definition at line 1892 of file ampi.C.
References Amm< T, N >::deleteEntry(), Amm< T, N >::first, and AmmEntry< T >::next.

| void Amm< T, N >::flushMsgs | ( | ) | [inline] |
| bool Amm< T, N >::match | ( | const int | tags1[AMM_NTAGS], | |
| const int | tags2[AMM_NTAGS] | |||
| ) | const [inline] |
Definition at line 1930 of file ampi.C.
Referenced by Amm< T, N >::get(), and Amm< T, N >::probe().

| void Amm< T, N >::put | ( | T | msg | ) | [inline] |
Definition at line 1914 of file ampi.C.
References Amm< T, N >::lasth, msg, Amm< T, N >::newEntry(), and AmmEntry< T >::next.
Referenced by Amm< T, N >::pup(), and PUPbytes().


Definition at line 1922 of file ampi.C.
References Amm< T, N >::lasth, msg, Amm< T, N >::newEntry(), AmmEntry< T >::next, src, and tag.

Definition at line 1955 of file ampi.C.
References Amm< T, N >::deleteEntry(), Amm< T, N >::first, Amm< T, N >::lasth, Amm< T, N >::match(), AmmEntry< T >::msg, msg, AmmEntry< T >::next, src, tag, AmmEntry< T >::tags, and tags.

Definition at line 1980 of file ampi.C.
References Amm< T, N >::first, Amm< T, N >::match(), AmmEntry< T >::msg, msg, AmmEntry< T >::next, src, tag, AmmEntry< T >::tags, and tags.

Definition at line 2001 of file ampi.C.
References Amm< T, N >::first, n, and AmmEntry< T >::next.
Referenced by ampiCommStruct::ampiCommStruct(), final::attachBuffer(), final::detachBuffer(), ampiCommStruct::getIndexForRank(), ampiCommStruct::getSize(), final::op2AmpiOpHeader(), ampiCommStruct::operator=(), ampiCommStruct::pup(), and Amm< T, N >::pup().

| void Amm< T, N >::pup | ( | PUP::er & | p, | |
| AmmPupMessageFn | msgpup | |||
| ) | [inline] |
Definition at line 2013 of file ampi.C.
References Amm< T, N >::deleteEntry(), Amm< T, N >::first, msg, AmmEntry< T >::msg, AmmEntry< T >::next, p, Amm< T, N >::put(), Amm< T, N >::size(), tags, and AmmEntry< T >::tags.
Referenced by PUPbytes(), PUPfunctionpointer(), and PUPmarshall().


Definition at line 172 of file ampiimpl.h.
Referenced by Amm< T, N >::freeAll(), Amm< T, N >::get(), Amm< T, N >::probe(), Amm< T, N >::pup(), rangeExclOp(), rangeInclOp(), and Amm< T, N >::size().
Definition at line 173 of file ampiimpl.h.
Referenced by Amm< T, N >::get(), and Amm< T, N >::put().
Definition at line 176 of file ampiimpl.h.
Referenced by Amm< AmpiMsg *, AMPI_AMM_COLL_POOL_SIZE >::deleteEntry(), and Amm< AmpiMsg *, AMPI_AMM_COLL_POOL_SIZE >::newEntry().
std::bitset<N> Amm< T, N >::validEntries [private] |
Definition at line 177 of file ampiimpl.h.
Referenced by Amm< AmpiMsg *, AMPI_AMM_COLL_POOL_SIZE >::Amm(), Amm< AmpiMsg *, AMPI_AMM_COLL_POOL_SIZE >::deleteEntry(), and Amm< AmpiMsg *, AMPI_AMM_COLL_POOL_SIZE >::newEntry().
Definition at line 178 of file ampiimpl.h.
Referenced by Amm< AmpiMsg *, AMPI_AMM_COLL_POOL_SIZE >::deleteEntry(), and Amm< AmpiMsg *, AMPI_AMM_COLL_POOL_SIZE >::newEntry().
1.5.5