StringiFor, definition of string
type.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public, | parameter | :: | CK | = | selected_char_kind('DEFAULT') | Default character kind. |
character(kind=CK,len=26), | private, | parameter | :: | UPPER_ALPHABET | = | 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' | Upper case alphabet. |
character(kind=CK,len=26), | private, | parameter | :: | LOWER_ALPHABET | = | 'abcdefghijklmnopqrstuvwxyz' | Lower case alphabet. |
character(kind=CK,len=1), | private, | parameter | :: | SPACE | = | ' ' | Space character. |
character(kind=CK,len=1), | private, | parameter | :: | TAB | = | achar(9) | Tab character. |
character(kind=CK,len=1), | private, | parameter | :: | UIX_DIR_SEP | = | char(47) | Unix/Linux directories separator (/). |
character(kind=CK,len=1), | private, | parameter | :: | BACKSLASH | = | char(92) | Backslash character. |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(kind=CK,len=:), | private, | allocatable | :: | raw | Raw data. |
procedure, public, pass(self) :: adjustl => sadjustl | Adjustl replacement. |
procedure, public, pass(self) :: adjustr => sadjustr | Adjustr replacement. |
procedure, public, pass(self) :: count => scount | Count replacement. |
generic, public :: index => sindex_string_string, sindex_string_character | Index replacement. |
procedure, public, pass(self) :: len => slen | Len replacement. |
procedure, public, pass(self) :: len_trim => slen_trim | Len_trim replacement. |
generic, public :: repeat => srepeat_string_string, srepeat_character_string | Repeat replacement. |
generic, public :: scan => sscan_string_string, sscan_string_character | Scan replacement. |
procedure, public, pass(self) :: trim => strim | Trim replacement. |
procedure, public, pass(self) :: verify => sverify | Verify replacement. |
procedure, public, pass(self) :: basedir | Return the base directory name of a string containing a file name. |
procedure, public, pass(self) :: basename | Return the base file name of a string containing a file name. |
procedure, public, pass(self) :: camelcase | Return a string with all words capitalized without spaces. |
procedure, public, pass(self) :: capitalize | Return a string with its first character capitalized and the rest lowercased. |
procedure, public, pass(self) :: chars | Return the raw characters data. |
procedure, public, pass(self) :: decode | Decode string. |
procedure, public, pass(self) :: encode | Encode string. |
procedure, public, pass(self) :: escape | Escape backslashes (or custom escape character). |
procedure, public, pass(self) :: extension | Return the extension of a string containing a file name. |
procedure, public, pass(self) :: fill | Pad string on the left (or right) with zeros (or other char) to fill width. |
procedure, public, pass(self) :: free | Free dynamic memory. |
generic, public :: insert => insert_string, insert_character | Insert substring into string at a specified position. |
generic, public :: join => join_strings, join_characters | Return a string that is a join of an array of strings or characters. |
procedure, public, pass(self) :: lower | Return a string with all lowercase characters. |
procedure, public, pass(self) :: partition | Split string at separator and return the 3 parts (before, the separator and after). |
procedure, public, pass(self) :: read_file | Read a file a single string stream. |
procedure, public, pass(self) :: read_line | Read line (record) from a connected unit. |
procedure, public, pass(self) :: read_lines | Read (all) lines (records) from a connected unit as a single ascii stream. |
procedure, public, pass(self) :: replace | Return a string with all occurrences of substring old replaced by new. |
procedure, public, pass(self) :: reverse | Return a reversed string. |
procedure, public, pass(self) :: search | Search for tagged record into string. |
procedure, public, pass(self) :: slice | Return the raw characters data sliced. |
procedure, public, pass(self) :: snakecase | Return a string with all words lowercase separated by "_". |
procedure, public, pass(self) :: split | Return a list of substring in the string, using sep as the delimiter string. |
procedure, public, pass(self) :: startcase | Return a string with all words capitalized, e.g. title case. |
procedure, public, pass(self) :: strip | Return a string with the leading and trailing characters removed. |
procedure, public, pass(self) :: swapcase | Return a string with uppercase chars converted to lowercase and vice versa. |
generic, public :: to_number => to_integer_I1P, to_integer_I2P, to_integer_I4P, to_integer_I8P, to_real_R4P, to_real_R8P | Cast string to number. |
procedure, public, pass(self) :: unescape | Unescape double backslashes (or custom escaped character). |
procedure, public, pass(self) :: unique | Reduce to one (unique) multiple occurrences of a substring into a string. |
procedure, public, pass(self) :: upper | Return a string with all uppercase characters. |
procedure, public, pass(self) :: write_file | Write a single string stream into file. |
procedure, public, pass(self) :: write_line | Write line (record) to a connected unit. |
procedure, public, pass(self) :: write_lines | Write lines (records) to a connected unit. |
procedure, public, pass(self) :: end_with | Return true if a string ends with a specified suffix. |
procedure, public, pass(self) :: is_allocated | Return true if the string is allocated. |
procedure, public, pass(self) :: is_digit | Return true if all characters in the string are digits. |
procedure, public, pass(self) :: is_integer | Return true if the string contains an integer. |
procedure, public, pass(self) :: is_lower | Return true if all characters in the string are lowercase. |
procedure, public, pass(self) :: is_number | Return true if the string contains a number (real or integer). |
procedure, public, pass(self) :: is_real | Return true if the string contains an real. |
procedure, public, pass(self) :: is_upper | Return true if all characters in the string are uppercase. |
procedure, public, pass(self) :: start_with | Return true if a string starts with a specified prefix. |
generic, public :: assignment(=) => string_assign_string, string_assign_character, string_assign_integer_I1P, string_assign_integer_I2P, string_assign_integer_I4P, string_assign_integer_I8P, string_assign_real_R4P, string_assign_real_R8P | Assignment operator overloading. |
generic, public :: operator(//) => string_concat_string, string_concat_character, character_concat_string | Concatenation operator overloading. |
generic, public :: operator(.cat.) => string_concat_string_string, string_concat_character_string, character_concat_string_string | Concatenation operator (string output) overloading. |
generic, public :: operator(==) => string_eq_string, string_eq_character, character_eq_string | Equal operator overloading. |
generic, public :: operator(/=) => string_ne_string, string_ne_character, character_ne_string | Not equal operator overloading. |
generic, public :: operator(<) => string_lt_string, string_lt_character, character_lt_string | Lower than operator overloading. |
generic, public :: operator(<=) => string_le_string, string_le_character, character_le_string | Lower equal than operator overloading. |
generic, public :: operator(>=) => string_ge_string, string_ge_character, character_ge_string | Greater equal than operator overloading. |
generic, public :: operator(>) => string_gt_string, string_gt_character, character_gt_string | Greater than operator overloading. |
procedure, private, pass(self) :: sindex_string_string | Index replacement. |
procedure, private, pass(self) :: sindex_string_character | Index replacement. |
procedure, private, pass(self) :: srepeat_string_string | Repeat replacement. |
procedure, private, pass(self) :: srepeat_character_string | Repeat replacement. |
procedure, private, pass(self) :: sscan_string_string | Scan replacement. |
procedure, private, pass(self) :: sscan_string_character | Scan replacement. |
procedure, private, pass(self) :: insert_string | Insert substring into string at a specified position. |
procedure, private, pass(self) :: insert_character | Insert substring into string at a specified position. |
procedure, private, pass(self) :: join_strings | Return join string of an array of strings. |
procedure, private, pass(self) :: join_characters | Return join string of an array of characters. |
procedure, private, pass(self) :: to_integer_I1P | Cast string to integer. |
procedure, private, pass(self) :: to_integer_I2P | Cast string to integer. |
procedure, private, pass(self) :: to_integer_I4P | Cast string to integer. |
procedure, private, pass(self) :: to_integer_I8P | Cast string to integer. |
procedure, private, pass(self) :: to_real_R4P | Cast string to real. |
procedure, private, pass(self) :: to_real_R8P | Cast string to real. |
procedure, private, pass(self) :: to_real_R16P | Cast string to real. |
procedure, private, pass(lhs) :: string_assign_string | Assignment operator from string input. |
procedure, private, pass(lhs) :: string_assign_character | Assignment operator from character input. |
procedure, private, pass(lhs) :: string_assign_integer_I1P | Assignment operator from integer input. |
procedure, private, pass(lhs) :: string_assign_integer_I2P | Assignment operator from integer input. |
procedure, private, pass(lhs) :: string_assign_integer_I4P | Assignment operator from integer input. |
procedure, private, pass(lhs) :: string_assign_integer_I8P | Assignment operator from integer input. |
procedure, private, pass(lhs) :: string_assign_real_R4P | Assignment operator from real input. |
procedure, private, pass(lhs) :: string_assign_real_R8P | Assignment operator from real input. |
procedure, private, pass(lhs) :: string_assign_real_R16P | Assignment operator from real input. |
procedure, private, pass(lhs) :: string_concat_string | Concatenation with string. |
procedure, private, pass(lhs) :: string_concat_character | Concatenation with character. |
procedure, private, pass(rhs) :: character_concat_string | Concatenation with character (inverted). |
procedure, private, pass(lhs) :: string_concat_string_string | Concatenation with string (string output). |
procedure, private, pass(lhs) :: string_concat_character_string | Concatenation with character (string output). |
procedure, private, pass(rhs) :: character_concat_string_string | Concatenation with character (inverted, string output). |
procedure, private, pass(lhs) :: string_eq_string | Equal to string logical operator. |
procedure, private, pass(lhs) :: string_eq_character | Equal to character logical operator. |
procedure, private, pass(rhs) :: character_eq_string | Equal to character (inverted) logical operator. |
procedure, private, pass(lhs) :: string_ne_string | Not equal to string logical operator. |
procedure, private, pass(lhs) :: string_ne_character | Not equal to character logical operator. |
procedure, private, pass(rhs) :: character_ne_string | Not equal to character (inverted) logical operator. |
procedure, private, pass(lhs) :: string_lt_string | Lower than to string logical operator. |
procedure, private, pass(lhs) :: string_lt_character | Lower than to character logical operator. |
procedure, private, pass(rhs) :: character_lt_string | Lower than to character (inverted) logical operator. |
procedure, private, pass(lhs) :: string_le_string | Lower equal than to string logical operator. |
procedure, private, pass(lhs) :: string_le_character | Lower equal than to character logical operator. |
procedure, private, pass(rhs) :: character_le_string | Lower equal than to character (inverted) logical operator. |
procedure, private, pass(lhs) :: string_ge_string | Greater equal than to string logical operator. |
procedure, private, pass(lhs) :: string_ge_character | Greater equal than to character logical operator. |
procedure, private, pass(rhs) :: character_ge_string | Greater equal than to character (inverted) logical operator. |
procedure, private, pass(lhs) :: string_gt_string | Greater than to string logical operator. |
procedure, private, pass(lhs) :: string_gt_character | Greater than to character logical operator. |
procedure, private, pass(rhs) :: character_gt_string | Greater than to character (inverted) logical operator. |
procedure, private, pass(dtv) :: read_formatted | Formatted input. |
procedure, private, pass(dtv) :: read_delimited | Read a delimited input. |
procedure, private, pass(dtv) :: read_undelimited | Read an undelimited input. |
procedure, private, pass(dtv) :: read_undelimited_listdirected | Read an undelimited list directed input. |
procedure, private, pass(dtv) :: write_formatted | Formatted output. |
procedure, private, pass(dtv) :: read_unformatted | Unformatted input. |
procedure, private, pass(dtv) :: write_unformatted | Unformatted output. |
procedure, private, pass(self) :: replace_one_occurrence | Replace the first occurrence of substring old by new. |
OOP designed string class.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
Adjusted string.
Left adjust a string by removing leading spaces (character output).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
Adjusted string.
Right adjust a string by removing leading spaces (character output).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
character(len=*), | intent(in) | :: | substring | Substring. |
||
logical, | intent(in), | optional | :: | ignore_isolated | Ignore "isolated" occurrences. |
Number of occurrences.
Count the number of occurences of a substring into a string.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
type(string), | intent(in) | :: | substring | Searched substring. |
||
logical, | intent(in), | optional | :: | back | Start of the last occurrence rather than the first. |
Result of the search.
Return the position of the start of the first occurrence of string substring
as a substring in string
, counting from one.
If substring
is not present in string
, zero is returned. If the back argument is present and true, the return value is
the start of the last occurrence rather than the first.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
character(kind=CK,len=*), | intent(in) | :: | substring | Searched substring. |
||
logical, | intent(in), | optional | :: | back | Start of the last occurrence rather than the first. |
Result of the search.
Return the position of the start of the first occurrence of string substring
as a substring in string
, counting from one.
If substring
is not present in string
, zero is returned. If the back argument is present and true, the return value is
the start of the last occurrence rather than the first.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(kind=CK,len=*), | intent(in) | :: | string_ | The string. |
||
type(string), | intent(in) | :: | substring | Searched substring. |
||
logical, | intent(in), | optional | :: | back | Start of the last occurrence rather than the first. |
Result of the search.
Return the position of the start of the first occurrence of string substring
as a substring in string
, counting from one.
If substring
is not present in string
, zero is returned. If the back argument is present and true, the return value is
the start of the last occurrence rather than the first.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
String length.
Return the length of a string.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
String length.
Return the length of a string, ignoring any trailing blanks.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | String to be repeated. |
||
character(kind=CK,len=*), | intent(in) | :: | rstring | String to be repeated. |
||
integer, | intent(in) | :: | ncopies | Number of string copies. |
Repeated string.
Concatenates several copies of an input string.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
type(string), | intent(in) | :: | set | Searched set. |
||
logical, | intent(in), | optional | :: | back | Start of the last occurrence rather than the first. |
Result of the search.
Return the leftmost (if back
is either absent or equals false, otherwise the rightmost) character of string that is in set
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
character(kind=CK,len=*), | intent(in) | :: | set | Searched set. |
||
logical, | intent(in), | optional | :: | back | Start of the last occurrence rather than the first. |
Result of the search.
Return the leftmost (if back
is either absent or equals false, otherwise the rightmost) character of string that is in set
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(kind=CK,len=*), | intent(in) | :: | sstring | The string. |
||
type(string), | intent(in) | :: | set | Searched set. |
||
logical, | intent(in), | optional | :: | back | Start of the last occurrence rather than the first. |
Result of the search.
Return the leftmost (if back
is either absent or equals false, otherwise the rightmost) character of string that is in set
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
character(kind=CK,len=*), | intent(in) | :: | set | Searched set. |
||
logical, | intent(in), | optional | :: | back | Start of the last occurrence rather than the first. |
Result of the search.
Return the leftmost (if back
is either absent or equals false, otherwise the rightmost) character of string that is not
in set
. If all characters of string
are found in set
, the result is zero.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
character(kind=CK,len=*), | intent(in), | optional | :: | sep | Directory separator. |
|
character(kind=CK,len=*), | intent(in), | optional | :: | extension | File extension. |
|
logical, | intent(in), | optional | :: | strip_last_extension | Flag to enable the stripping of last extension. |
Base file name.
Return the base file name of a string containing a file name.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
Raw characters data.
Return the raw characters data.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
character(kind=CK,len=1), | intent(in) | :: | to_escape | Character to be escaped. |
||
character(kind=CK,len=*), | intent(in), | optional | :: | esc | Character used to escape. |
Escaped string.
Escape backslashes (or custom escape character).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
integer, | intent(in) | :: | width | Final width of filled string. |
||
logical, | intent(in), | optional | :: | right | Fill on the right instead of left. |
|
character(kind=CK,len=1), | intent(in), | optional | :: | filling_char | Filling character (default "0"). |
Filled string.
Pad string on the left (or right) with zeros (or other char) to fill width.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
character(len=*), | intent(in) | :: | substring | Substring. |
||
integer, | intent(in) | :: | pos | Position from which insert substring. |
Inserted string.
Insert substring into string at a specified position.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
type(string), | intent(in) | :: | substring | Substring. |
||
integer, | intent(in) | :: | pos | Position from which insert substring. |
Inserted string.
Insert substring into string at a specified position.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
type(string), | intent(in) | :: | array(1:) | Array to be joined. |
||
character(kind=CK,len=*), | intent(in), | optional | :: | sep | Separator. |
The join of array.
Return a string that is a join of an array of strings.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
character(kind=CK,len=*), | intent(in) | :: | array(1:) | Array to be joined. |
||
character(kind=CK,len=*), | intent(in), | optional | :: | sep | Separator. |
The join of array.
Return a string that is a join of an array of characters.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
character(kind=CK,len=*), | intent(in), | optional | :: | sep | Separator. |
after the separator.
Split string at separator and return the 3 parts (before, the separator and after).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
character(kind=CK,len=*), | intent(in) | :: | old | Old substring. |
||
character(kind=CK,len=*), | intent(in) | :: | new | New substring. |
||
integer, | intent(in), | optional | :: | count | Number of old occurences to be replaced. |
The string with old replaced by new.
Return a string with all occurrences of substring old replaced by new.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
character(kind=CK,len=*), | intent(in) | :: | tag_start | Start tag. |
||
character(kind=CK,len=*), | intent(in) | :: | tag_end | End tag. |
||
type(string), | intent(in), | optional | :: | in_string | Search into this string. |
|
character(kind=CK,len=*), | intent(in), | optional | :: | in_character | Search into this character string. |
|
integer, | intent(out), | optional | :: | istart | Starting index of tag inside the string. |
|
integer, | intent(out), | optional | :: | iend | Ending index of tag inside the string. |
First tag found.
Search for tagged record into string, return the first record found (if any) matching the tags.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
integer, | intent(in) | :: | istart | Slice start index. |
||
integer, | intent(in) | :: | iend | Slice end index. |
Raw characters data.
Return the raw characters data sliced.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
logical, | intent(in), | optional | :: | remove_nulls | Remove null characters at the end. |
The stripped string.
Return a copy of the string with the leading and trailing characters removed.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
integer(kind=I1P), | intent(in) | :: | kind | Mold parameter for kind detection. |
The number into the string.
Cast string to integer (I1P).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
integer(kind=I2P), | intent(in) | :: | kind | Mold parameter for kind detection. |
The number into the string.
Cast string to integer (I2P).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
integer(kind=I4P), | intent(in) | :: | kind | Mold parameter for kind detection. |
The number into the string.
Cast string to integer (I4P).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
integer(kind=I8P), | intent(in) | :: | kind | Mold parameter for kind detection. |
The number into the string.
Cast string to integer (I8P).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
real(kind=R4P), | intent(in) | :: | kind | Mold parameter for kind detection. |
The number into the string.
Cast string to real (R4P).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
real(kind=R8P), | intent(in) | :: | kind | Mold parameter for kind detection. |
The number into the string.
Cast string to real (R8P).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
real(kind=R16P), | intent(in) | :: | kind | Mold parameter for kind detection. |
The number into the string.
Cast string to real (R16P).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
character(kind=CK,len=1), | intent(in) | :: | to_unescape | Character to be unescaped. |
||
character(kind=CK,len=*), | intent(in), | optional | :: | unesc | Character used to unescape. |
Escaped string.
Unescape double backslashes (or custom escaped character).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
character(kind=CK,len=*), | intent(in), | optional | :: | substring | Substring which multiple occurences must be reduced to one. |
String parsed.
Reduce to one (unique) multiple (sequential) occurrences of a substring into a string.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
character(kind=CK,len=*), | intent(in) | :: | suffix | Searched suffix. |
||
integer, | intent(in), | optional | :: | start | Start position into the string. |
|
integer, | intent(in), | optional | :: | end | End position into the string. |
Result of the test.
Return true if a string ends with a specified suffix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
Result of the test.
Return true if the string is allocated.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
Result of the test.
Return true if all characters in the string are digits.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
logical, | intent(in), | optional | :: | allow_spaces | Allow leading-trailing spaces. |
Result of the test.
Return true if the string contains an integer.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
Result of the test.
Return true if all characters in the string are lowercase.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
logical, | intent(in), | optional | :: | allow_spaces | Allow leading-trailing spaces. |
Result of the test.
Return true if the string contains a number (real or integer).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
logical, | intent(in), | optional | :: | allow_spaces | Allow leading-trailing spaces. |
Result of the test.
Return true if the string contains a real.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
Result of the test.
Return true if all characters in the string are uppercase.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
character(kind=CK,len=*), | intent(in) | :: | prefix | Searched prefix. |
||
integer, | intent(in), | optional | :: | start | Start position into the string. |
|
integer, | intent(in), | optional | :: | end | End position into the string. |
Result of the test.
Return true if a string starts with a specified prefix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | lhs | Left hand side. |
||
character(kind=CK,len=*), | intent(in) | :: | rhs | Right hand side. |
Concatenated string.
Concatenation with character.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(kind=CK,len=*), | intent(in) | :: | lhs | Left hand side. |
||
class(string), | intent(in) | :: | rhs | Right hand side. |
Concatenated string.
Concatenation with character (inverted).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | lhs | Left hand side. |
||
character(kind=CK,len=*), | intent(in) | :: | rhs | Right hand side. |
Opreator test result.
Equal to character logical operator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(kind=CK,len=*), | intent(in) | :: | lhs | Left hand side. |
||
class(string), | intent(in) | :: | rhs | Right hand side. |
Opreator test result.
Equal to character (inverted) logical operator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | lhs | Left hand side. |
||
character(kind=CK,len=*), | intent(in) | :: | rhs | Right hand side. |
Opreator test result.
Not equal to character logical operator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(kind=CK,len=*), | intent(in) | :: | lhs | Left hand side. |
||
class(string), | intent(in) | :: | rhs | Right hand side. |
Opreator test result.
Not equal to character (inverted) logical operator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | lhs | Left hand side. |
||
character(kind=CK,len=*), | intent(in) | :: | rhs | Right hand side. |
Opreator test result.
Lower than to character logical operator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(kind=CK,len=*), | intent(in) | :: | lhs | Left hand side. |
||
class(string), | intent(in) | :: | rhs | Right hand side. |
Opreator test result.
Lower than to character (inverted) logical operator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | lhs | Left hand side. |
||
character(kind=CK,len=*), | intent(in) | :: | rhs | Right hand side. |
Opreator test result.
Lower equal than to character logical operator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(kind=CK,len=*), | intent(in) | :: | lhs | Left hand side. |
||
class(string), | intent(in) | :: | rhs | Right hand side. |
Opreator test result.
Lower equal than to character (inverted) logical operator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | lhs | Left hand side. |
||
character(kind=CK,len=*), | intent(in) | :: | rhs | Right hand side. |
Opreator test result.
Greater equal than to character logical operator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(kind=CK,len=*), | intent(in) | :: | lhs | Left hand side. |
||
class(string), | intent(in) | :: | rhs | Right hand side. |
Opreator test result.
Greater equal than to character (inverted) logical operator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | lhs | Left hand side. |
||
character(kind=CK,len=*), | intent(in) | :: | rhs | Right hand side. |
Opreator test result.
Greater than to character logical operator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(kind=CK,len=*), | intent(in) | :: | lhs | Left hand side. |
||
class(string), | intent(in) | :: | rhs | Right hand side. |
Opreator test result.
Greater than to character (inverted) logical operator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
character(kind=CK,len=*), | intent(in) | :: | old | Old substring. |
||
character(kind=CK,len=*), | intent(in) | :: | new | New substring. |
The string with old replaced by new.
Return a string with the first occurrence of substring old replaced by new.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(inout) | :: | self | The string. |
Free dynamic memory.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(inout) | :: | self | The string. |
||
character(len=*), | intent(in) | :: | file | File name. |
||
character(len=*), | intent(in), | optional | :: | form | Format of unit. |
|
integer, | intent(out), | optional | :: | iostat | IO status code. |
|
character(len=*), | intent(inout), | optional | :: | iomsg | IO status message. |
Read a file as a single string stream.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(inout) | :: | self | The string. |
||
integer, | intent(in) | :: | unit | Logical unit. |
||
character(len=*), | intent(in), | optional | :: | form | Format of unit. |
|
integer, | intent(out), | optional | :: | iostat | IO status code. |
|
character(len=*), | intent(inout), | optional | :: | iomsg | IO status message. |
Read line (record) from a connected unit.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(inout) | :: | self | The string. |
||
integer, | intent(in) | :: | unit | Logical unit. |
||
character(len=*), | intent(in), | optional | :: | form | Format of unit. |
|
integer, | intent(out), | optional | :: | iostat | IO status code. |
|
character(len=*), | intent(inout), | optional | :: | iomsg | IO status message. |
Read (all) lines (records) from a connected unit as a single ascii stream.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
type(string), | intent(out), | allocatable | :: | tokens(:) | Tokens substring. |
|
character(kind=CK,len=*), | intent(in), | optional | :: | sep | Separator. |
Return a list of substring in the string, using sep as the delimiter string.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
character(len=*), | intent(in) | :: | file | File name. |
||
character(len=*), | intent(in), | optional | :: | form | Format of unit. |
|
integer, | intent(out), | optional | :: | iostat | IO status code. |
|
character(len=*), | intent(inout), | optional | :: | iomsg | IO status message. |
Write a single string stream into file.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
integer, | intent(in) | :: | unit | Logical unit. |
||
character(len=*), | intent(in), | optional | :: | form | Format of unit. |
|
integer, | intent(out), | optional | :: | iostat | IO status code. |
|
character(len=*), | intent(inout), | optional | :: | iomsg | IO status message. |
Write line (record) to a connected unit.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self | The string. |
||
integer, | intent(in) | :: | unit | Logical unit. |
||
character(len=*), | intent(in), | optional | :: | form | Format of unit. |
|
integer, | intent(out), | optional | :: | iostat | IO status code. |
|
character(len=*), | intent(inout), | optional | :: | iomsg | IO status message. |
Write lines (records) to a connected unit.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(inout) | :: | lhs | Left hand side. |
||
character(kind=CK,len=*), | intent(in) | :: | rhs | Right hand side. |
Assignment operator from character input.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(inout) | :: | lhs | Left hand side. |
||
integer(kind=I1P), | intent(in) | :: | rhs | Right hand side. |
Assignment operator from real input.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(inout) | :: | lhs | Left hand side. |
||
integer(kind=I2P), | intent(in) | :: | rhs | Right hand side. |
Assignment operator from real input.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(inout) | :: | lhs | Left hand side. |
||
integer(kind=I4P), | intent(in) | :: | rhs | Right hand side. |
Assignment operator from real input.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(inout) | :: | lhs | Left hand side. |
||
integer(kind=I8P), | intent(in) | :: | rhs | Right hand side. |
Assignment operator from real input.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(inout) | :: | lhs | Left hand side. |
||
real(kind=R4P), | intent(in) | :: | rhs | Right hand side. |
Assignment operator from real input.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(inout) | :: | lhs | Left hand side. |
||
real(kind=R8P), | intent(in) | :: | rhs | Right hand side. |
Assignment operator from real input.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(inout) | :: | lhs | Left hand side. |
||
real(kind=R16P), | intent(in) | :: | rhs | Right hand side. |
Assignment operator from real input.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(inout) | :: | dtv | The string. |
||
integer, | intent(in) | :: | unit | Logical unit. |
||
character(len=*), | intent(in) | :: | iotype | Edit descriptor. |
||
integer, | intent(in) | :: | v_list(:) | Edit descriptor list. |
||
integer, | intent(out) | :: | iostat | IO status code. |
||
character(len=*), | intent(inout) | :: | iomsg | IO status message. |
Formatted input.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(out) | :: | dtv | The string. |
||
integer, | intent(in) | :: | unit | Logical unit. |
||
character(kind=CK,len=1), | intent(in) | :: | delim | String delimiter. |
||
integer, | intent(out) | :: | iostat | IO status code. |
||
character(kind=CK,len=*), | intent(inout) | :: | iomsg | IO status message. |
Read a delimited string from a unit connected for formatted input.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(inout) | :: | dtv | The string. |
||
integer, | intent(in) | :: | unit | Logical unit. |
||
integer, | intent(out) | :: | iostat | IO status code. |
||
character(len=*), | intent(inout) | :: | iomsg | IO status message. |
Read an undelimited (no leading apostrophe or double quote) character value according to the rules for list directed input.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(inout) | :: | dtv | The string. |
||
integer, | intent(in) | :: | unit | Logical unit. |
||
character(kind=CK,len=*), | intent(in) | :: | terminators | Characters that are considered to terminate the string. Blanks in this string are meaningful. |
||
integer, | intent(out) | :: | iostat | IO status code. |
||
character(len=*), | intent(inout) | :: | iomsg | IO status message. |
Read an undelimited string up until end of record or a character from a set of terminators is encountered.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | dtv | The string. |
||
integer, | intent(in) | :: | unit | Logical unit. |
||
character(kind=CK,len=*), | intent(in) | :: | iotype | Edit descriptor. |
||
integer, | intent(in) | :: | v_list(:) | Edit descriptor list. |
||
integer, | intent(out) | :: | iostat | IO status code. |
||
character(kind=CK,len=*), | intent(inout) | :: | iomsg | IO status message. |
Formatted output.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(inout) | :: | dtv | The string. |
||
integer, | intent(in) | :: | unit | Logical unit. |
||
integer, | intent(out) | :: | iostat | IO status code. |
||
character(kind=CK,len=*), | intent(inout) | :: | iomsg | IO status message. |
Unformatted input.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | dtv | The string. |
||
integer, | intent(in) | :: | unit | Logical unit. |
||
integer, | intent(out) | :: | iostat | IO status code. |
||
character(kind=CK,len=*), | intent(inout) | :: | iomsg | IO status message. |
Unformatted output.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit | The unit for the connection. |
||
character(kind=len=1,CK), | intent(out) | :: | delim | Represents the value of the DELIM mode. |
||
integer, | intent(out) | :: | iostat | IOSTAT error code, non-zero on error. |
||
character(len=*), | intent(inout) | :: | iomsg | IOMSG explanatory message - only defined if iostat is non-zero. |
Get the DELIM changeable connection mode for the given unit.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit | Logical unit. |
||
character(kind=CK,len=1), | intent(out) | :: | ch | The non-blank character read. Not valid if IOSTAT is non-zero. |
||
integer, | intent(out) | :: | iostat | IO status code. |
||
character(kind=CK,len=*), | intent(inout) | :: | iomsg | IO status message. |
Get the next non-blank character in the current record.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit | Logical unit. |
||
character(kind=CK,len=1), | intent(out) | :: | ch | The non-blank character read. Not valid if IOSTAT is non-zero. |
||
integer, | intent(out) | :: | iostat | IO status code. |
||
character(kind=CK,len=*), | intent(inout) | :: | iomsg | IO status message. |
Get the next non-blank character, advancing records if necessary.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit | Logical unit. |
||
logical, | intent(out) | :: | decimal_point | True if the decimal mode is POINT, false otherwise. |
||
integer, | intent(out) | :: | iostat | IO status code. |
||
character(kind=CK,len=*), | intent(inout) | :: | iomsg | IO status message. |
Get the DECIMAL changeable connection mode for the given unit.