julienne_command_line_m Module

return command line argument information


Uses

  • module~~julienne_command_line_m~~UsesGraph module~julienne_command_line_m julienne_command_line_m module~julienne_string_m julienne_string_m module~julienne_command_line_m->module~julienne_string_m iso_c_binding iso_c_binding module~julienne_string_m->iso_c_binding

Used by

  • module~~julienne_command_line_m~~UsedByGraph module~julienne_command_line_m julienne_command_line_m module~julienne_command_line_s julienne_command_line_s module~julienne_command_line_s->module~julienne_command_line_m module~julienne_m julienne_m module~julienne_m->module~julienne_command_line_m module~julienne_test_m julienne_test_m module~julienne_m->module~julienne_test_m module~julienne_test_fixture_m julienne_test_fixture_m module~julienne_m->module~julienne_test_fixture_m module~julienne_test_harness_m julienne_test_harness_m module~julienne_m->module~julienne_test_harness_m module~julienne_test_description_s julienne_test_description_s module~julienne_test_description_s->module~julienne_command_line_m module~julienne_test_harness_s julienne_test_harness_s module~julienne_test_harness_s->module~julienne_command_line_m module~julienne_test_harness_s->module~julienne_test_harness_m module~julienne_test_m->module~julienne_command_line_m module~julienne_test_fixture_m->module~julienne_test_m module~julienne_test_s julienne_test_s module~julienne_test_s->module~julienne_test_m module~julienne_test_suite_s julienne_test_suite_s module~julienne_test_suite_s->module~julienne_m module~write_stuff_m write_stuff_m module~write_stuff_m->module~julienne_m program~assertions assertions program~assertions->module~julienne_m program~check_for_command_line_argument check_for_command_line_argument program~check_for_command_line_argument->module~julienne_m program~get_command_line_flag_value get_command_line_flag_value program~get_command_line_flag_value->module~julienne_m program~pure_stop_and_print pure_stop_and_print program~pure_stop_and_print->module~julienne_m program~pure_stop_and_print->module~write_stuff_m program~scaffold scaffold program~scaffold->module~julienne_m module~julienne_test_fixture_s julienne_test_fixture_s module~julienne_test_fixture_s->module~julienne_test_fixture_m module~julienne_test_harness_m->module~julienne_test_fixture_m module~write_stuff_s write_stuff_s module~write_stuff_s->module~write_stuff_m

Interfaces

interface

  • private module function character_argument_present(acceptable_argument) result(found)

    result is .true. only if a command-line argument matches an element of this function's argument

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: acceptable_argument(:)

    sample list: [character(len=len()):: "--benchmark", "-b", "/benchmark", "/b"] where dashes support Linux/macOS, slashes support Windows, and must be replaced by the longest list element ("--benchmark" above)

    Return Value logical

interface

  • private module function character_flag_value(flag) result(value)

    result = { the value passed immediately after a command-line flag if the flag is present or { an empty string otherwise.

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: flag

    Return Value character(len=:), allocatable

interface

  • private module function string_argument_present(acceptable_argument) result(found)

    same as character_argument_present but allowing ragged-edged array of character values

    Arguments

    Type IntentOptional Attributes Name
    type(string_t), intent(in) :: acceptable_argument(:)

    Return Value logical

interface

  • private module function string_flag_value(flag) result(value)

    same as character_flag_value but accepting a string_t dummy argument

    Arguments

    Type IntentOptional Attributes Name
    type(string_t), intent(in) :: flag

    Return Value character(len=:), allocatable


Derived Types

type, public ::  command_line_t

Type-Bound Procedures

generic, public :: argument_present => character_argument_present, string_argument_present
procedure, public, nopass :: character_argument_present
procedure, public, nopass :: character_flag_value
generic, public :: flag_value => character_flag_value, string_flag_value
procedure, public, nopass :: string_argument_present
procedure, public, nopass :: string_flag_value