mp_request_type Derived Type

type, public :: mp_request_type


Components

Type Visibility Attributes Name Initial
integer, private :: handle = mp_request_null_handle

Type-Bound Procedures

procedure, public, pass(request), non_overridable :: get_handle => mp_get_request_handle

procedure, public, pass(request), non_overridable :: set_handle => mp_set_request_handle

  • private elemental subroutine mp_set_request_handle(request, handle)

    Arguments

    Type IntentOptional Attributes Name
    class(mp_request_type), intent(inout) :: request
    integer, intent(in) :: handle

procedure, private, pass(request1), non_overridable :: mp_request_op_eq

  • private impure elemental function mp_request_op_eq(request1, request2)

    Arguments

    Type IntentOptional Attributes Name
    class(mp_request_type), intent(in) :: request1
    class(mp_request_type), intent(in) :: request2

    Return Value logical

generic, public :: OPERATOR(.EQ.) => mp_request_op_eq

  • private impure elemental function mp_request_op_eq(request1, request2)

    Arguments

    Type IntentOptional Attributes Name
    class(mp_request_type), intent(in) :: request1
    class(mp_request_type), intent(in) :: request2

    Return Value logical

procedure, private, pass(request1), non_overridable :: mp_request_op_ne

  • private impure elemental function mp_request_op_ne(request1, request2)

    Arguments

    Type IntentOptional Attributes Name
    class(mp_request_type), intent(in) :: request1
    class(mp_request_type), intent(in) :: request2

    Return Value logical

generic, public :: OPERATOR(.NE.) => mp_request_op_ne

  • private impure elemental function mp_request_op_ne(request1, request2)

    Arguments

    Type IntentOptional Attributes Name
    class(mp_request_type), intent(in) :: request1
    class(mp_request_type), intent(in) :: request2

    Return Value logical

Source Code

   TYPE mp_request_type
      PRIVATE
      MPI_REQUEST_TYPE :: handle = mp_request_null_handle
   CONTAINS
      PROCEDURE, PUBLIC, PASS(request), NON_OVERRIDABLE :: get_handle => mp_get_request_handle
      PROCEDURE, PUBLIC, PASS(request), NON_OVERRIDABLE :: set_handle => mp_set_request_handle
      PROCEDURE, PRIVATE, PASS(request1), NON_OVERRIDABLE :: mp_request_op_eq
      GENERIC, PUBLIC :: OPERATOR(.EQ.) => mp_request_op_eq
      PROCEDURE, PRIVATE, PASS(request1), NON_OVERRIDABLE :: mp_request_op_ne
      GENERIC, PUBLIC :: OPERATOR(.NE.) => mp_request_op_ne
   END TYPE mp_request_type