Data Types ========== A rank ID strong type, representing a process's identifier inside of the communication space communicator: .. code-block:: cpp using RankId = int; A handle wrapper for the underlying communication backend "communicator": .. code-block:: cpp template class Handle { public: template Handle(CommSpace const& comm_space, ExecSpace const& exec_space); template Handle(CommSpace::CommunicatorType comm, ExecSpace const& exec_space); auto rank(void) -> RankId; auto size(void) -> int; auto get_inner(void) -> CommSpace::CommunicatorType; private: ... }; A request wrapper for waiting/testing the progression of the communication: .. code-block:: cpp template class Request { public: auto get_inner(void) -> CommSpace::RequestType; private: ... };