# PhasicFlow: message Class Reference
PhasicFlow is an open-source parallel DEM (discrete element method) package for simulating granular flow. It is developed in C++ and can be exectued on both GPU (like CUDA) and CPU.

message Class Reference

## Public Types

enum | EVENT : size_t { DEFAULT = 0, CAP_CHANGED = 1, SIZE_CHANGED = 2, ITEM_DELETE = 3, ITEM_INSERT = 4, RANGE_CHANGED = 5, ITEM_REARRANGE = 6, ITEM_FLAGCHANGED = 7, BNDR_REARRANGE = 8, BNDR_TRANSFER = 9, BNDR_RESET = 10, BNDR_DELETE = 11, BNDR_APPEND = 12, BNDR_PROCTRANSFER_SEND = 13, BNDR_PROCTRANSFER_RECIEVE = 14, BNDR_PROCTRANSFER_WAITFILL = 15, BNDR_PROC_SIZE_CHANGED = 16 }

## Public Member Functions

| message ()=default
| message (EVENT evnt)
| message (size_t i)
| message (const message &)=default
| message (message &&)=default
message & | operator= (const message &)=default
message & | operator= (message &&)=default
| ~message ()=default
message & | add (EVENT evnt)
const word & | addAndName (EVENT evnt)
message & | remove (EVENT evnt)
bool | equivalentTo (EVENT evnt) const
bool | equivalentTo (size_t i) const
bool | isNull () const
auto | size () const
message & | operator+ (EVENT evnt)
message & | operator- (EVENT evnt)
message & | operator+ (const message &msg)

## Static Public Member Functions

static constexpr auto | numEvents ()
static message | Default ()
static message | Empty ()
static const word & | eventName (size_t event)

## Private Attributes

std::bitset< numberOfEvents_ > | events_ {0x0000}

## Static Private Attributes

static constexpr size_t | numberOfEvents_ = 17
static const std::array< word, numberOfEvents_ > | eventNames_

## Detailed Description

Definition at line 33 of file message.hpp.

## Member Enumeration Documentation

## EVENT

enum EVENT : size_t

Enumerator
DEFAULT |
CAP_CHANGED |
SIZE_CHANGED |
ITEM_DELETE |
ITEM_INSERT |
RANGE_CHANGED |
ITEM_REARRANGE |
ITEM_FLAGCHANGED |
BNDR_REARRANGE |
BNDR_TRANSFER |
BNDR_RESET |
BNDR_DELETE |
BNDR_APPEND |
BNDR_PROCTRANSFER_SEND |
BNDR_PROCTRANSFER_RECIEVE |
BNDR_PROCTRANSFER_WAITFILL |
BNDR_PROC_SIZE_CHANGED |

Definition at line 36 of file message.hpp.

## Constructor & Destructor Documentation

## message() [1/5]

message | ( |  | ) |

default

## message() [2/5]

message | ( | EVENT | evnt | ) |

inline

Definition at line 90 of file message.hpp.

References message::add().

Here is the call graph for this function:

## message() [3/5]

message | ( | size_t | i | ) |

inline

Definition at line 95 of file message.hpp.

References message::events_, and message::numberOfEvents_.

## message() [4/5]

message | ( | const message & |  | ) |

default

## message() [5/5]

message | ( | message && |  | ) |

default

## ~message()

~message | ( |  | ) |

default

## Member Function Documentation

## operator=() [1/2]

message& operator= | ( | const message & |  | ) |

default

## operator=() [2/2]

message& operator= | ( | message && |  | ) |

default

## add()

message& add | ( | EVENT | evnt | ) |

inline

Definition at line 113 of file message.hpp.

References message::events_.

Referenced by message::addAndName(), boundaryBase::appendNewIndices(), internalPoints::changePointsFlagPosition(), internalPoints::deletePoints(), message::message(), message::operator+(), and pFlow::operator+().

Here is the caller graph for this function:

## addAndName()

const word& addAndName | ( | EVENT | evnt | ) |

inline

Definition at line 119 of file message.hpp.

References message::add(), and message::eventName().

Referenced by pointStructure::beforeIteration(), internalPoints::insertPoints(), and internalPoints::insertPointsOnly().

Here is the call graph for this function:
Here is the caller graph for this function:

## remove()

message& remove | ( | EVENT | evnt | ) |

inline

Definition at line 125 of file message.hpp.

References message::events_.

Referenced by message::operator-().

Here is the caller graph for this function:

## equivalentTo() [1/2]

bool equivalentTo | ( | EVENT | evnt | ) | const

inline

Definition at line 131 of file message.hpp.

Referenced by exitBoundaryField< T, MemorySpace >::hearChanges(), reflectiveBoundaryField< T, MemorySpace >::hearChanges(), periodicBoundaryField< T, MemorySpace >::hearChanges(), particleIdHandler::hearChanges(), boundaryContactSearch::hearChanges(), boundaryField< T, void >::hearChanges(), grainInteraction< contactForceModel, geometryMotionModel, contactListType >::hearChanges(), sphereInteraction< contactForceModel, geometryMotionModel, contactListType >::hearChanges(), internalField< realx3, void >::hearChanges(), subscriber::notify(), message::operator+(), pFlow::operator<<(), and subscriber::subscribe().

Here is the caller graph for this function:

## equivalentTo() [2/2]

bool equivalentTo | ( | size_t | i | ) | const

inline

Definition at line 136 of file message.hpp.

References message::events_.

## isNull()

bool isNull | ( |  | ) | const

inline

Definition at line 141 of file message.hpp.

References message::events_.

## size()

auto size | ( |  | ) | const

inline

Definition at line 146 of file message.hpp.

References message::events_.

Referenced by subscriber::notify(), pFlow::operator<<(), and subscriber::subscribe().

Here is the caller graph for this function:

## operator+() [1/2]

message& operator+ | ( | EVENT | evnt | ) |

inline

Definition at line 152 of file message.hpp.

References message::add().

Here is the call graph for this function:

## operator-()

message& operator- | ( | EVENT | evnt | ) |

inline

Definition at line 158 of file message.hpp.

References message::remove().

Here is the call graph for this function:

## operator+() [2/2]

message& operator+ | ( | const message & | msg | ) |

inline

Definition at line 164 of file message.hpp.

References message::equivalentTo(), and message::events_.

Here is the call graph for this function:

## numEvents()

static constexpr auto numEvents | ( |  | ) |

inlinestaticconstexpr

Definition at line 177 of file message.hpp.

References message::numberOfEvents_.

Referenced by observer::numEvents().

Here is the caller graph for this function:

## Default()

static message Default | ( |  | ) |

inlinestatic

Definition at line 182 of file message.hpp.

References message::DEFAULT.

## Empty()

static message Empty | ( |  | ) |

inlinestatic

Definition at line 189 of file message.hpp.

Referenced by pFlow::operator+().

Here is the caller graph for this function:

## eventName()

static const word& eventName | ( | size_t | event | ) |

inlinestatic

Definition at line 196 of file message.hpp.

References message::eventNames_.

Referenced by message::addAndName(), boundaryBase::appendNewIndices(), internalPoints::changePointsFlagPosition(), internalPoints::deletePoints(), particleIdHandler::hearChanges(), internalPoints::insertPoints(), internalPoints::insertPointsOnly(), and boundaryBase::removeIndices().

Here is the caller graph for this function:

## Member Data Documentation

## numberOfEvents_

constexpr size_t numberOfEvents_ = 17

staticconstexprprivate

Definition at line 60 of file message.hpp.

Referenced by message::message(), and message::numEvents().

## events_

std::bitset<numberOfEvents_> events_ {0x0000}

private

Definition at line 62 of file message.hpp.

Referenced by message::add(), message::equivalentTo(), message::isNull(), message::message(), message::operator+(), message::remove(), and message::size().

## eventNames_

const std::array<word,numberOfEvents_> eventNames_

inlinestaticprivate

Initial value:
{
"",
"capacity",
"size",
"deletedIndices",
"insertedIndices",
"range",
"rearrangedIndices",
"transferredIndices",
"rearrangedIndices",
"transferredIndices",
"",
"deletedIndices",
"appendedIndices",
"transferredIndices",
"numToRecieve",
"insertedIndices",
"size"
}

Definition at line 66 of file message.hpp.

Referenced by message::eventName().

The documentation for this class was generated from the following file:

- src/phasicFlow/eventManagement/message.hpp