mp_comm_type Derived Type

type, public :: mp_comm_type


Components

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

Type-Bound Procedures

procedure, public, pass(comm), non_overridable :: get_handle => mp_get_comm_handle

  • private elemental function mp_get_comm_handle(comm)

    Arguments

    Type IntentOptional Attributes Name
    class(mp_comm_type), intent(in) :: comm

    Return Value integer

procedure, public, pass(comm), non_overridable :: set_handle => mp_set_comm_handle

  • private elemental subroutine mp_set_comm_handle(comm, handle)

    Arguments

    Type IntentOptional Attributes Name
    class(mp_comm_type), intent(inout) :: comm
    integer, intent(in) :: handle

procedure, private, pass(comm1), non_overridable :: mp_comm_op_eq

  • private impure elemental function mp_comm_op_eq(comm1, comm2)

    Arguments

    Type IntentOptional Attributes Name
    class(mp_comm_type), intent(in) :: comm1
    class(mp_comm_type), intent(in) :: comm2

    Return Value logical

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

  • private impure elemental function mp_comm_op_eq(comm1, comm2)

    Arguments

    Type IntentOptional Attributes Name
    class(mp_comm_type), intent(in) :: comm1
    class(mp_comm_type), intent(in) :: comm2

    Return Value logical

procedure, private, pass(comm1), non_overridable :: mp_comm_op_ne

  • private impure elemental function mp_comm_op_ne(comm1, comm2)

    Arguments

    Type IntentOptional Attributes Name
    class(mp_comm_type), intent(in) :: comm1
    class(mp_comm_type), intent(in) :: comm2

    Return Value logical

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

  • private impure elemental function mp_comm_op_ne(comm1, comm2)

    Arguments

    Type IntentOptional Attributes Name
    class(mp_comm_type), intent(in) :: comm1
    class(mp_comm_type), intent(in) :: comm2

    Return Value logical

Source Code

   TYPE mp_comm_type
      PRIVATE
      MPI_COMM_TYPE :: handle = mp_comm_null_handle
   CONTAINS
      PROCEDURE, PUBLIC, PASS(comm), NON_OVERRIDABLE :: get_handle => mp_get_comm_handle
      PROCEDURE, PUBLIC, PASS(comm), NON_OVERRIDABLE :: set_handle => mp_set_comm_handle
      PROCEDURE, PRIVATE, PASS(comm1), NON_OVERRIDABLE :: mp_comm_op_eq
      GENERIC, PUBLIC :: OPERATOR(.EQ.) => mp_comm_op_eq
      PROCEDURE, PRIVATE, PASS(comm1), NON_OVERRIDABLE :: mp_comm_op_ne
      GENERIC, PUBLIC :: OPERATOR(.NE.) => mp_comm_op_ne
   END TYPE mp_comm_type