Interfaces

template< typename tPrimitive, typename tTagPrimitive >
void BSPLib::SendPtrs( uint32_t pid, tTagPrimitive *tag, tPrimitive *begin,
                       size_t count )                               // (1) Begin-Count-Pointer

template< typename tPrimitive, typename tTagPrimitive >
void BSPLib::SendPtrs( uint32_t pid, tTagPrimitive *tag, tPrimitive *begin,
                       tPrimitive *end )                            // (2) Begin-End-Pointer

template< typename tPrimitive, typename tTag >
void BSPLib::SendPtrs( uint32_t pid, const tTag &tag, tPrimitive *begin,
                       size_t count )                               // (3) Begin-Count-Reference

template< typename tPrimitive, typename tTag >
void BSPLib::SendPtrs( uint32_t pid, const tTag &tag, tPrimitive *begin,
                       tPrimitive *end )                            // (4) Begin-End-Reference

template< typename tPrimitive >
void BSPLib::SendPtrs( uint32_t pid, const std::string &tag, tPrimitive *begin,
                       tPrimitive *end )                            // (5) Begin-End-std::string

template< typename tPrimitive >
void BSPLib::SendPtrs( uint32_t pid, const std::string &tag, tPrimitive *begin,
                       size_t count )                               // (6) Begin-Count-std::string

template< typename tPrimitive >
void BSPLib::SendPtrs( uint32_t pid, tPrimitive *begin, 
                       size_t count )                               // (7) Begin-Count

template< typename tPrimitive >
void BSPLib::SendPtrs( uint32_t pid, tPrimitive *begin,
                       tPrimitive *end )                            // (8) Begin-End

Send a buffered message to the processor with ID pid using a tag to identify the message.

  1. Sends a block of count primitives starting at begin as message, accompanied by a tag that may either be a primitive or a contiguous container.
  2. Sends a block of count primitives starting at begin as message, accompanied by a tag that starts at tagPtr.
  3. Has the same behaviour as (1), using that count = end - begin.
  4. Has the same behaviour as (2), using that count = end - begin.
  5. Sends a block of count primitives starting at begin as message, accompanied by a tag that is an entire C-Array.
  6. Has the same behaviour as (5), using that count = end - begin.
  7. Has the same behaviour as (2), using that tagPtr = nullptr, no tag is sent.
  8. Has the same behaviour as (4), using that tagPtr = nullptr, no tag is sent.

Tip

Warnings

Make sure that in all cases, the tagsize is appropriately set. Using these functions does not guarantee that the tagsize is always correct. See BSPLib::SetTagSize().

Parameters

Pre-Conditions

Examples

(1) Begin-Count-Reference

(2) Begin-End-Pointer

(3) Begin-Count-Pointer

(4) Begin-End-Reference

(5) Begin-Count-std::string

(6) Begin-End-std::string

(7) Begin-Count

(8) Begin-End