| Home | Libraries | People | FAQ | More

## Class status

boost::mpi::status — Contains information about a message that has been or can be received.

## Synopsis

    class status {
    public:
      // construct/copy/destruct
      status();

      // public member functions
      int source() const;
      int tag() const;
      int error() const;
      bool cancelled() const;
      template<typename T> optional< int > count() const;
      operator MPI_Status &() ;
      operator const MPI_Status &() const;
      mutable int m_count;
    };

## Description

This structure contains status information about messages that have been received (with `communicator::recv`) or can be received (returned from `communicator::probe` or `communicator::iprobe`). It permits access to the source of the message, message tag, error code (rarely used), or the number of elements that have been transmitted.

### `status` public construct/copy/destruct

1.     status();

### `status` public member functions

1.     int source() const;

   Retrieve the source of the message.

2.     int tag() const;

   Retrieve the message tag.

3.     int error() const;

   Retrieve the error code.

4.     bool cancelled() const;

   Determine whether the communication associated with this object has been successfully cancelled.

5.     template<typename T> optional< int > count() const;

   Determines the number of elements of type `T` contained in the message. The type `T` must have an associated data type, i.e., `is_mpi_datatype<T>` must derive `mpl::true_`. In cases where the type `T` does not match the transmitted type, this routine will return an empty `optional<int>`.

   Returns: | the number of `T` elements in the message, if it can be determined.

6.     operator MPI_Status &() ;

   References the underlying `MPI_Status`

7.     operator const MPI_Status &() const;

   References the underlying `MPI_Status`