$extrastylesheet
libMesh::Parallel::Status Class Reference

#include <parallel.h>

List of all members.

Public Member Functions

 Status ()
 Status (const data_type &type)
 Status (const status &status)
 Status (const status &status, const data_type &type)
 Status (const Status &status)
 Status (const Status &status, const data_type &type)
statusget ()
status const * get () const
int source () const
int tag () const
data_typedatatype ()
const data_typedatatype () const
unsigned int size (const data_type &type) const
unsigned int size () const

Private Attributes

status _status
data_type _datatype

Detailed Description

Encapsulates the MPI_Status struct. Allows the source and size of the message to be determined.

Definition at line 363 of file parallel.h.


Constructor & Destructor Documentation

Definition at line 586 of file parallel_implementation.h.

                       :
  _status(),
  _datatype()
{}
libMesh::Parallel::Status::Status ( const data_type type) [inline, explicit]

Definition at line 591 of file parallel_implementation.h.

                                            :
  _status(),
  _datatype(type)
{}
libMesh::Parallel::Status::Status ( const status status) [inline, explicit]

Definition at line 596 of file parallel_implementation.h.

                                         :
  _status(stat),
  _datatype()
{}
libMesh::Parallel::Status::Status ( const status status,
const data_type type 
) [inline]

Definition at line 601 of file parallel_implementation.h.

                                              :
  _status(stat),
  _datatype(type)
{}
libMesh::Parallel::Status::Status ( const Status status) [inline]

Definition at line 607 of file parallel_implementation.h.

                                         :
  _status(stat._status),
  _datatype(stat._datatype)
{}
libMesh::Parallel::Status::Status ( const Status status,
const data_type type 
) [inline]

Definition at line 612 of file parallel_implementation.h.

                                              :
  _status(stat._status),
  _datatype(type)
{}

Member Function Documentation

Definition at line 388 of file parallel.h.

References _datatype.

Referenced by size().

{ return _datatype; }

Definition at line 390 of file parallel.h.

References _datatype.

{ return _datatype; }

Definition at line 380 of file parallel.h.

References _status.

Referenced by libMesh::Parallel::Communicator::receive(), and libMesh::Parallel::Request::wait().

{ return &_status; }
status const* libMesh::Parallel::Status::get ( ) const [inline]

Definition at line 382 of file parallel.h.

References _status.

{ return &_status; }
unsigned int libMesh::Parallel::Status::size ( const data_type type) const [inline]

Definition at line 638 of file parallel_implementation.h.

References _status.

Referenced by libMesh::Parallel::Communicator::receive().

{
  int msg_size;
  MPI_Get_count (const_cast<MPI_Status*>(&_status), type, &msg_size);
  libmesh_assert_greater_equal (msg_size, 0);
  return msg_size;
}
unsigned int libMesh::Parallel::Status::size ( ) const [inline]

Definition at line 653 of file parallel_implementation.h.

References datatype().

{ return this->size (this->datatype()); }
int libMesh::Parallel::Status::source ( ) const [inline]

Definition at line 618 of file parallel_implementation.h.

References _status.

Referenced by libMesh::Nemesis_IO::read(), libMesh::System::read_serialized_blocked_dof_objects(), and libMesh::System::write_serialized_blocked_dof_objects().

{
#ifdef LIBMESH_HAVE_MPI
  return _status.MPI_SOURCE;
#else
  return 0;
#endif
}
int libMesh::Parallel::Status::tag ( ) const [inline]

Definition at line 627 of file parallel_implementation.h.

References _status.

{
#ifdef LIBMESH_HAVE_MPI
  return _status.MPI_TAG;
#else
  libmesh_not_implemented();
  return 0;
#endif
}

Member Data Documentation

Definition at line 399 of file parallel.h.

Referenced by datatype().

Definition at line 398 of file parallel.h.

Referenced by get(), size(), source(), and tag().


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