Program Listing for File IbarrierRequest.hpp

Return to documentation for file (include/uitsl/distributed/IbarrierRequest.hpp)

#pragma once
#ifndef UITSL_DISTRIBUTED_IBARRIERREQUEST_HPP_INCLUDE
#define UITSL_DISTRIBUTED_IBARRIERREQUEST_HPP_INCLUDE

#include <mpi.h>

#include "../mpi/audited_routines.hpp"
#include "../mpi/mpi_init_utils.hpp"

namespace uitsl {

class IbarrierRequest {

  MPI_Request request;

public:

  IbarrierRequest(const MPI_Comm comm=MPI_COMM_WORLD) {
    UITSL_Ibarrier(comm, &request);
  }

  bool IsComplete() const { return uitsl::test_completion(request); }

};

} // namespace uitsl

#endif // #ifndef UITSL_DISTRIBUTED_IBARRIERREQUEST_HPP_INCLUDE