FEQParse_Function Derived Type

type, public :: FEQParse_Function


Contents

Source Code


Components

TypeVisibilityAttributesNameInitial
character, public, allocatable:: caps
integer, public :: len
procedure(f32), public, nopass, pointer:: ptr32=> null()
procedure(f64), public, nopass, pointer:: ptr64=> null()
character, public, allocatable:: str

Finalization Procedures

final :: Function_Finalize


Type-Bound Procedures

generic, public :: assignment(=) => character_assign_function, character_array_assign_function

procedure, private, pass(lhs) :: character_array_assign_function

procedure, private, pass(lhs) :: character_assign_function

  • private subroutine character_assign_function(lhs, rhs)

    Arguments

    TypeIntentOptionalAttributesName
    class(FEQParse_Function), intent(inout) :: lhs

    Left hand side.

    character(len=*), intent(in) :: rhs

    Right hand side.

procedure, private, pass(rhs) :: character_eq_function

  • private elemental function character_eq_function(lhs, rhs) result(ok)

    Arguments

    TypeIntentOptionalAttributesName
    character(len=*), intent(in) :: lhs
    class(FEQParse_Function), intent(in) :: rhs

    Return Value logical

procedure, private, pass(rhs) :: character_neq_function

  • private elemental function character_neq_function(lhs, rhs) result(ok)

    Arguments

    TypeIntentOptionalAttributesName
    character(len=*), intent(in) :: lhs
    class(FEQParse_Function), intent(in) :: rhs

    Return Value logical

procedure, private, pass(lhs) :: function_eq_character

  • private elemental function function_eq_character(lhs, rhs) result(ok)

    Arguments

    TypeIntentOptionalAttributesName
    class(FEQParse_Function), intent(in) :: lhs

    Left hand side.

    character(len=*), intent(in) :: rhs

    Right hand side.

    Return Value logical

procedure, private, pass(lhs) :: function_neq_character

  • private elemental function function_neq_character(lhs, rhs) result(ok)

    Arguments

    TypeIntentOptionalAttributesName
    class(FEQParse_Function), intent(in) :: lhs

    Left hand side.

    character(len=*), intent(in) :: rhs

    Right hand side.

    Return Value logical

generic, public :: invoke => invoke32, invoke64

  • private elemental function invoke32(this, x) result(fx)

    Arguments

    TypeIntentOptionalAttributesName
    class(FEQParse_Function), intent(in) :: this
    real(kind=real32), intent(in) :: x

    Return Value real(kind=real32)

  • private elemental function invoke64(this, x) result(fx)

    Arguments

    TypeIntentOptionalAttributesName
    class(FEQParse_Function), intent(in) :: this
    real(kind=real64), intent(in) :: x

    Return Value real(kind=real64)

procedure, private, pass(this) :: invoke32

  • private elemental function invoke32(this, x) result(fx)

    Arguments

    TypeIntentOptionalAttributesName
    class(FEQParse_Function), intent(in) :: this
    real(kind=real32), intent(in) :: x

    Return Value real(kind=real32)

procedure, private, pass(this) :: invoke64

  • private elemental function invoke64(this, x) result(fx)

    Arguments

    TypeIntentOptionalAttributesName
    class(FEQParse_Function), intent(in) :: this
    real(kind=real64), intent(in) :: x

    Return Value real(kind=real64)

generic, public :: operator(/=) => function_neq_character, character_neq_function

  • private elemental function function_neq_character(lhs, rhs) result(ok)

    Arguments

    TypeIntentOptionalAttributesName
    class(FEQParse_Function), intent(in) :: lhs

    Left hand side.

    character(len=*), intent(in) :: rhs

    Right hand side.

    Return Value logical

  • private elemental function character_neq_function(lhs, rhs) result(ok)

    Arguments

    TypeIntentOptionalAttributesName
    character(len=*), intent(in) :: lhs
    class(FEQParse_Function), intent(in) :: rhs

    Return Value logical

generic, public :: operator(==) => function_eq_character, character_eq_function

  • private elemental function function_eq_character(lhs, rhs) result(ok)

    Arguments

    TypeIntentOptionalAttributesName
    class(FEQParse_Function), intent(in) :: lhs

    Left hand side.

    character(len=*), intent(in) :: rhs

    Right hand side.

    Return Value logical

  • private elemental function character_eq_function(lhs, rhs) result(ok)

    Arguments

    TypeIntentOptionalAttributesName
    character(len=*), intent(in) :: lhs
    class(FEQParse_Function), intent(in) :: rhs

    Return Value logical

Source Code

  type,public :: FEQParse_Function
    integer :: len
    character(:),allocatable :: str
    character(:),allocatable :: caps
    procedure(f32),public,nopass,pointer :: ptr32 => null()
    procedure(f64),public,nopass,pointer :: ptr64 => null()
  contains
    procedure,private,pass(lhs) :: character_array_assign_function
    procedure,private,pass(lhs) :: character_assign_function
    generic :: assignment(=) => character_assign_function,character_array_assign_function
    procedure,private,pass(lhs) :: function_eq_character
    procedure,private,pass(rhs) :: character_eq_function
    generic :: operator(==) => function_eq_character,character_eq_function
    procedure,private,pass(lhs) :: function_neq_character
    procedure,private,pass(rhs) :: character_neq_function
    generic :: operator(/=) => function_neq_character,character_neq_function
    procedure,private,pass(this) :: invoke32
    procedure,private,pass(this) :: invoke64
    generic :: invoke => invoke32,invoke64
    final :: Function_Finalize
  endtype FEQParse_Function