2004-07-14 18:11:03 +04:00
|
|
|
// -*- c++ -*-
|
|
|
|
//
|
2005-11-05 22:57:48 +03:00
|
|
|
// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
|
|
|
// University Research and Technology
|
|
|
|
// Corporation. All rights reserved.
|
|
|
|
// Copyright (c) 2004-2005 The University of Tennessee and The University
|
|
|
|
// of Tennessee Research Foundation. All rights
|
|
|
|
// reserved.
|
2004-11-28 23:09:25 +03:00
|
|
|
// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
|
|
// University of Stuttgart. All rights reserved.
|
2005-03-24 15:43:37 +03:00
|
|
|
// Copyright (c) 2004-2005 The Regents of the University of California.
|
|
|
|
// All rights reserved.
|
2006-11-06 21:42:00 +03:00
|
|
|
// Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
|
2004-11-22 04:38:40 +03:00
|
|
|
// $COPYRIGHT$
|
|
|
|
//
|
|
|
|
// Additional copyrights may follow
|
|
|
|
//
|
2004-07-14 18:11:03 +04:00
|
|
|
// $HEADER$
|
|
|
|
//
|
|
|
|
|
|
|
|
//
|
|
|
|
// Point-to-Point Communication
|
|
|
|
//
|
|
|
|
|
|
|
|
inline int
|
|
|
|
MPI::Status::Get_count(const MPI::Datatype& datatype) const
|
|
|
|
{
|
|
|
|
int count;
|
2005-11-30 06:22:27 +03:00
|
|
|
(void)MPI_Get_count(const_cast<MPI_Status*>(&mpi_status), datatype, &count);
|
2004-07-14 18:11:03 +04:00
|
|
|
return count;
|
|
|
|
}
|
|
|
|
|
|
|
|
inline bool
|
|
|
|
MPI::Status::Is_cancelled() const
|
|
|
|
{
|
|
|
|
int t;
|
2005-11-30 06:22:27 +03:00
|
|
|
(void)MPI_Test_cancelled(const_cast<MPI_Status*>(&mpi_status), &t);
|
2006-08-28 22:51:09 +04:00
|
|
|
return OPAL_INT_TO_BOOL(t);
|
2004-07-14 18:11:03 +04:00
|
|
|
}
|
|
|
|
|
|
|
|
inline int
|
|
|
|
MPI::Status::Get_elements(const MPI::Datatype& datatype) const
|
|
|
|
{
|
|
|
|
int count;
|
2005-11-30 06:22:27 +03:00
|
|
|
(void)MPI_Get_elements(const_cast<MPI_Status*>(&mpi_status), datatype, &count);
|
2004-07-14 18:11:03 +04:00
|
|
|
return count;
|
|
|
|
}
|
|
|
|
|
|
|
|
//
|
|
|
|
// Status Access
|
|
|
|
//
|
|
|
|
inline int
|
|
|
|
MPI::Status::Get_source() const
|
|
|
|
{
|
|
|
|
int source;
|
|
|
|
source = mpi_status.MPI_SOURCE;
|
|
|
|
return source;
|
|
|
|
}
|
|
|
|
|
|
|
|
inline void
|
|
|
|
MPI::Status::Set_source(int source)
|
|
|
|
{
|
|
|
|
mpi_status.MPI_SOURCE = source;
|
|
|
|
}
|
|
|
|
|
|
|
|
inline int
|
|
|
|
MPI::Status::Get_tag() const
|
|
|
|
{
|
|
|
|
int tag;
|
|
|
|
tag = mpi_status.MPI_TAG;
|
|
|
|
return tag;
|
|
|
|
}
|
|
|
|
|
|
|
|
inline void
|
|
|
|
MPI::Status::Set_tag(int tag)
|
|
|
|
{
|
|
|
|
mpi_status.MPI_TAG = tag;
|
|
|
|
}
|
|
|
|
|
|
|
|
inline int
|
|
|
|
MPI::Status::Get_error() const
|
|
|
|
{
|
|
|
|
int error;
|
|
|
|
error = mpi_status.MPI_ERROR;
|
|
|
|
return error;
|
|
|
|
}
|
|
|
|
|
|
|
|
inline void
|
|
|
|
MPI::Status::Set_error(int error)
|
|
|
|
{
|
|
|
|
mpi_status.MPI_ERROR = error;
|
|
|
|
}
|
2006-11-06 21:42:00 +03:00
|
|
|
|
|
|
|
inline void
|
|
|
|
MPI::Status::Set_elements(const MPI::Datatype& datatype, int count)
|
|
|
|
{
|
|
|
|
MPI_Status_set_elements(&mpi_status, datatype, count);
|
|
|
|
}
|
|
|
|
|
|
|
|
inline void
|
|
|
|
MPI::Status::Set_cancelled(bool flag)
|
|
|
|
{
|
2006-11-07 23:49:31 +03:00
|
|
|
MPI_Status_set_cancelled(&mpi_status, (int) flag);
|
2006-11-06 21:42:00 +03:00
|
|
|
}
|
|
|
|
|