Interfaces

template< typename tIterator, typename tTag >
void BSPLib::SendIterator( uint32_t pid, tTag &tag, tIterator begin, 
                           size_t count )                               // (1) Begin-Count-Reference

template< typename tIterator, typename tTag >
void BSPLib::SendIterator( uint32_t pid, tTag *tagPtr, tIterator begin, 
                           size_t count )                               // (2) Begin-Count-Pointer

template< typename tIterator, typename tTag >
void BSPLib::SendIterator( uint32_t pid, tTag &tag, tIterator begin,
                           tIterator end )                              // (3) Begin-End-Reference

template< typename tIterator, typename tTag >
void BSPLib::SendIterator( uint32_t pid, tTag *tagPtr, tIterator begin, 
                           tIterator end )                              // (4) Begin-End-Pointer

template< typename tIterator, typename tTagPrimitive, uint32_t tTagSize >
void BSPLib::SendIteratorWithCArray( uint32_t pid, tTagPrimitive( &tagContainer )[tTagSize],
                                     tIterator begin, size_t count )    // (5) Begin-Count-CArray

template< typename tIterator, typename tTagPrimitive, uint32_t tTagSize >
void BSPLib::SendIteratorWithCArray( uint32_t pid, tTagPrimitive( &tagContainer )[tTagSize], 
                                     tIterator begin, tIterator end )   // (6) Begin-End-CArray



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

template< typename tIterator >
void BSPLib::SendIterator( uint32_t pid, tIterator begin,
                           tIterator 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-Count-Pointer

(3) Begin-End-Reference

(4) Begin-End-Pointer

(5) Begin-Count-CArray

(6) Begin-End-CArray

(7) Begin-Count

(8) Begin-End