flap_object_t Module

Base (abstract) class upon which FLAP’s concrete classes are built.


Uses

  • module~~flap_object_t~~UsesGraph module~flap_object_t flap_object_t iso_fortran_env iso_fortran_env module~flap_object_t->iso_fortran_env penf penf module~flap_object_t->penf

Used by

  • module~~flap_object_t~~UsedByGraph module~flap_object_t flap_object_t module~flap_command_line_argument_t flap_command_line_argument_t module~flap_command_line_argument_t->module~flap_object_t module~flap_command_line_arguments_group_t flap_command_line_arguments_group_t module~flap_command_line_arguments_group_t->module~flap_object_t module~flap_command_line_arguments_group_t->module~flap_command_line_argument_t module~flap_command_line_interface_t flap_command_line_interface_t module~flap_command_line_interface_t->module~flap_object_t module~flap_command_line_interface_t->module~flap_command_line_argument_t module~flap_command_line_interface_t->module~flap_command_line_arguments_group_t module~flap flap module~flap->module~flap_command_line_argument_t module~flap->module~flap_command_line_arguments_group_t module~flap->module~flap_command_line_interface_t program~flap_save_bash_completion flap_save_bash_completion program~flap_save_bash_completion->module~flap program~flap_save_man_page flap_save_man_page program~flap_save_man_page->module~flap program~flap_save_usage_to_markdown flap_save_usage_to_markdown program~flap_save_usage_to_markdown->module~flap program~flap_test_action_store flap_test_action_store program~flap_test_action_store->module~flap program~flap_test_ansi_color_style flap_test_ansi_color_style program~flap_test_ansi_color_style->module~flap program~flap_test_basic flap_test_basic program~flap_test_basic->module~flap program~flap_test_choices_logical flap_test_choices_logical program~flap_test_choices_logical->module~flap program~flap_test_duplicated_clas flap_test_duplicated_clas program~flap_test_duplicated_clas->module~flap program~flap_test_group flap_test_group program~flap_test_group->module~flap program~flap_test_group_examples flap_test_group_examples program~flap_test_group_examples->module~flap program~flap_test_hidden flap_test_hidden program~flap_test_hidden->module~flap program~flap_test_ignore_unknown_clas flap_test_ignore_unknown_clas program~flap_test_ignore_unknown_clas->module~flap program~flap_test_minimal flap_test_minimal program~flap_test_minimal->module~flap program~flap_test_nargs_insufficient flap_test_nargs_insufficient program~flap_test_nargs_insufficient->module~flap program~flap_test_nargs_insufficient~2 flap_test_nargs_insufficient program~flap_test_nargs_insufficient~2->module~flap program~flap_test_nested flap_test_nested program~flap_test_nested->module~flap program~flap_test_string flap_test_string program~flap_test_string->module~flap

Derived Types

type, public ::  object

Base (abstract) class upon which FLAP’s concrete classes are built.

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: progname

Program name.

character(len=:), public, allocatable :: version

Program version.

character(len=:), public, allocatable :: help

Help message.

character(len=:), public, allocatable :: help_color

ANSI color of help messages.

character(len=:), public, allocatable :: help_style

ANSI style of help messages.

character(len=:), public, allocatable :: help_markdown

Longer help message, markdown formatted.

character(len=:), public, allocatable :: description

Detailed description.

character(len=:), public, allocatable :: license

License description.

character(len=:), public, allocatable :: authors

Authors list.

character(len=:), public, allocatable :: epilog

Epilogue message.

character(len=:), public, allocatable :: m_exclude

Mutually exclude other CLA(s group).

character(len=:), public, allocatable :: error_message

Meaningful error message to standard-error.

character(len=:), public, allocatable :: error_color

ANSI color of error messages.

character(len=:), public, allocatable :: error_style

ANSI style of error messages.

character(len=512), public, allocatable :: examples(:)

Examples of correct usage.

integer(kind=I4P), public :: error = 0_I4P

Error trapping flag.

integer(kind=I4P), public :: usage_lun = stderr

Output unit to print help/usage messages

integer(kind=I4P), public :: version_lun = stdout

Output unit to print version message

integer(kind=I4P), public :: error_lun = stderr

Error unit to print error messages

Type-Bound Procedures

procedure, public, pass(self) :: free_object ../../../../

Free dynamic memory.

procedure, public, pass(self) :: print_version ../../../../

Print version.

procedure, public, pass(self) :: print_error_message ../../../../

Print meaningful error message.

procedure, public, pass(self) :: set_examples ../../../../

Set examples of correct usage.

procedure, public, pass(lhs ) :: assign_object ../../../../

Assignment overloading.


Subroutines

private elemental subroutine free_object(self)

Free dynamic memory.

Arguments

Type IntentOptional Attributes Name
class(object), intent(inout) :: self

Object data.

private subroutine print_version(self, pref)

Print version.

Arguments

Type IntentOptional Attributes Name
class(object), intent(in) :: self

Object data.

character(len=*), intent(in), optional :: pref

Prefixing string.

private subroutine print_error_message(self)

Print meaningful error message to standard-error.

Arguments

Type IntentOptional Attributes Name
class(object), intent(in) :: self

Object data.

private subroutine set_examples(self, examples)

Set examples of correct usage.

Arguments

Type IntentOptional Attributes Name
class(object), intent(inout) :: self

Object data.

character(len=*), intent(in), optional :: examples(1:)

Examples of correct usage.

private elemental subroutine assign_object(lhs, rhs)

Assign two abstract objects.

Arguments

Type IntentOptional Attributes Name
class(object), intent(inout) :: lhs

Left hand side.

class(object), intent(in) :: rhs

Rigth hand side.