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. |
Overloading glob procedure.
type(string) :: astring
character(len=:), allocatable :: alist_chr(:)
type(string), allocatable :: alist_str(:)
integer, parameter :: Nf=5
character(14) :: files(1:Nf)
integer :: file_unit
integer :: f
integer :: ff
logical :: test_passed
do f=1, Nf
files(f) = astring%tempname(prefix='foo-')
open(newunit=file_unit, file=files(f))
write(file_unit, *)f
close(unit=file_unit)
enddo
call glob(self=astring, pattern='foo-*', list=alist_chr)
call glob(self=astring, pattern='foo-*', list=alist_str)
do f=1, Nf
open(newunit=file_unit, file=files(f))
close(unit=file_unit, status='delete')
enddo
test_passed = .false.
outer_chr: do f=1, size(alist_chr, dim=1)
do ff=1, Nf
test_passed = alist_chr(f) == files(ff)
if (test_passed) cycle outer_chr
enddo
enddo outer_chr
if (test_passed) then
test_passed = .false.
outer_str: do f=1, size(alist_str, dim=1)
do ff=1, Nf
test_passed = alist_str(f) == files(ff)
if (test_passed) cycle outer_str
enddo
enddo outer_str
endif
print '(L1)', test_passed
Glob search (character output), finds all the pathnames matching a given pattern according to the rules used by the Unix shell.
@note Note Method not portable: works only on Unix/GNU Linux OS.
type(string) :: astring
character(len=:), allocatable :: alist_chr(:)
integer, parameter :: Nf=5
character(14) :: files(1:Nf)
integer :: file_unit
integer :: f
integer :: ff
logical :: test_passed
do f=1, Nf
files(f) = astring%tempname(prefix='foo-')
open(newunit=file_unit, file=files(f))
write(file_unit, *)f
close(unit=file_unit)
enddo
call astring%glob(pattern='foo-*', list=alist_chr)
do f=1, Nf
open(newunit=file_unit, file=files(f))
close(unit=file_unit, status='delete')
enddo
test_passed = .false.
outer_chr: do f=1, size(alist_chr, dim=1)
do ff=1, Nf
test_passed = alist_chr(f) == files(ff)
if (test_passed) cycle outer_chr
enddo
enddo outer_chr
print '(L1)', test_passed
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
||
| character(len=*), | intent(in) | :: | pattern |
Given pattern. |
||
| character(len=:), | intent(out), | allocatable | :: | list(:) |
List of matching pathnames. |
Glob search (string output), finds all the pathnames matching a given pattern according to the rules used by the Unix shell.
@note Note Method not portable: works only on Unix/GNU Linux OS.
type(string) :: astring
type(string), allocatable :: alist_str(:)
integer, parameter :: Nf=5
character(14) :: files(1:Nf)
integer :: file_unit
integer :: f
integer :: ff
logical :: test_passed
do f=1, Nf
files(f) = astring%tempname(prefix='foo-')
open(newunit=file_unit, file=files(f))
write(file_unit, *)f
close(unit=file_unit)
enddo
call astring%glob(pattern='foo-*', list=alist_str)
do f=1, Nf
open(newunit=file_unit, file=files(f))
close(unit=file_unit, status='delete')
enddo
test_passed = .false.
outer_str: do f=1, size(alist_str, dim=1)
do ff=1, Nf
test_passed = alist_str(f) == files(ff)
if (test_passed) cycle outer_str
enddo
enddo outer_str
print '(L1)', test_passed
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
||
| character(len=*), | intent(in) | :: | pattern |
Given pattern. |
||
| type(string), | intent(out), | allocatable | :: | list(:) |
List of matching pathnames. |
Return a string that is a join of an array of strings.
The join-separator is set equals to a null string ‘’ if custom separator isn’t specified.
type(string) :: strings(3)
logical :: test_passed(5)
strings(1) = 'one'
strings(2) = 'two'
strings(3) = 'three'
test_passed(1) = (strjoin(array=strings)//''==strings(1)//strings(2)//strings(3))
test_passed(2) = (strjoin(array=strings, sep='-')//''==strings(1)//'-'//strings(2)//'-'//strings(3))
call strings(1)%free
strings(2) = 'two'
strings(3) = 'three'
test_passed(3) = (strjoin(array=strings, sep='-')//''==strings(2)//'-'//strings(3))
strings(1) = 'one'
strings(2) = 'two'
call strings(3)%free
test_passed(4) = (strjoin(array=strings, sep='-')//''==strings(1)//'-'//strings(2))
strings(1) = 'one'
call strings(2)%free
strings(3) = 'three'
test_passed(5) = (strjoin(array=strings, sep='-')//''==strings(1)//'-'//strings(3))
print '(L1)', all(test_passed)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(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 characters.
The join-separator is set equals to a null string ‘’ if custom separator isn’t specified. The trim function is applied to array items if optional logical is_trim variable isn’t set to .false.
character(5) :: characters(3)
logical :: test_passed(13)
characters(1) = 'one'
characters(2) = 'two'
characters(3) = 'three'
test_passed(1) = (strjoin(array=characters)//''==trim(characters(1))//trim(characters(2))//trim(characters(3)))
test_passed(2) = (strjoin(array=characters, sep='-')//''==trim(characters(1))//'-'//trim(characters(2))//'-'//trim(characters(3)))
test_passed(3) = ( strjoin(array=characters, is_trim=.false.)//''==characters(1)//characters(2)//characters(3))
test_passed(4) = ( strjoin(array=characters, sep='-', is_trim=.false.)//''==characters(1)//'-'//characters(2)//'-'//characters(3))
characters(1) = ''
characters(2) = 'two'
characters(3) = 'three'
test_passed(5) = (strjoin(array=characters)//''==trim(characters(2))//trim(characters(3)))
characters(1) = 'one'
characters(2) = 'two'
characters(3) = ''
test_passed(6) = (strjoin(array=characters)//''==trim(characters(1))//trim(characters(2)))
characters(1) = 'one'
characters(2) = ''
characters(3) = 'three'
test_passed(7) = (strjoin(array=characters)//''==trim(characters(1))//trim(characters(3)))
characters(1) = ''
characters(2) = 'two'
characters(3) = 'three'
test_passed(8) = (strjoin(array=characters, sep='-')//''==trim(characters(2))//'-'//trim(characters(3)))
characters(1) = 'one'
characters(2) = 'two'
characters(3) = ''
test_passed(9) = (strjoin(array=characters, sep='-')//''==trim(characters(1))//'-'//trim(characters(2)))
characters(1) = 'one'
characters(2) = ''
characters(3) = 'three'
test_passed(10) = (strjoin(array=characters, sep='-')//''==trim(characters(1))//'-'//trim(characters(3)))
characters(1) = ''
characters(2) = 'two'
characters(3) = 'three'
test_passed(11) = (strjoin(array=characters, sep='-', is_trim=.false.)//''==characters(2)//'-'//characters(3))
characters(1) = 'one'
characters(2) = 'two'
characters(3) = ''
test_passed(12) = (strjoin(array=characters, sep='-', is_trim=.false.)//''==characters(1)//'-'//characters(2))
characters(1) = 'one'
characters(2) = ''
characters(3) = 'three'
test_passed(13) = (strjoin(array=characters, sep='-', is_trim=.false.)//''==characters(1)//'-'//characters(3))
print '(L1)', all(test_passed)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(kind=CK, len=*), | intent(in) | :: | array(1:) |
Array to be joined. |
||
| character(kind=CK, len=*), | intent(in), | optional | :: | sep |
Separator. |
|
| logical, | intent(in), | optional | :: | is_trim |
Flag to setup trim character or not |
The join of array.
Return a string that is a join of columns or rows of an array of strings.
The join-separator is set equals to a null string ‘’ if custom separator isn’t specified. The is_col is setup the direction of join: within default columns (.true.) or rows(.false.).
type(string), allocatable :: strings_arr(:, :)
logical :: test_passed(5)
strings_arr = reshape( source = &
[string('one'), string('two'), string('three'), &
string('ONE'), string('TWO'), string('THREE')], &
shape = [3, 2] )
test_passed(1) = all( strjoin(array=strings_arr) == &
reshape([string('onetwothree'), string('ONETWOTHREE')], &
shape = [2]) )
test_passed(2) = all( strjoin(array=strings_arr, sep='_') == &
reshape([string('one_two_three'), string('ONE_TWO_THREE')], &
shape = [2]) )
test_passed(3) = all( strjoin(array=strings_arr, is_col=.false.) == &
reshape([string('oneONE'), string('twoTWO'), string('threeTHREE')], &
shape = [3]) )
test_passed(4) = all( strjoin(array=strings_arr, sep='_', is_col=.false.) == &
reshape([string('one_ONE'), string('two_TWO'), string('three_THREE')], &
shape = [3]) )
call strings_arr(2, 1)%free
test_passed(5) = all( strjoin(array=strings_arr, sep='_', is_col=.false.) == &
reshape([string('one_ONE'), string('TWO'), string('three_THREE')], &
shape = [3]) )
print '(L1)', all(test_passed)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | array(1:,1:) |
Array to be joined. |
||
| character(kind=CK, len=*), | intent(in), | optional | :: | sep |
Separator. |
|
| logical, | intent(in), | optional | :: | is_col |
Direction: ‘columns’ if .true. or ‘rows’ if .false. |
The join of array.
Return a string that is a join of columns or rows of an array of characters.
The join-separator is set equals to a null string ‘’ if custom separator isn’t specified. The trim function is applied to array items if optional logical is_trim variable isn’t set to .false. The is_col is setup the direction of join: within default columns (.true.) or rows(.false.).
character(len=10) :: chars_arr(3, 2)
logical :: test_passed(9)
chars_arr(:, 1) = ['one ', 'two ', 'three ']
chars_arr(:, 2) = ['ONE ', 'TWO ', 'THREE ']
test_passed(1) = all( strjoin(array=chars_arr) == &
reshape([string('onetwothree'), string('ONETWOTHREE')], &
shape = [2]) )
test_passed(2) = all( strjoin(array=chars_arr, is_trim=.false.) == &
reshape([string('one two three '), &
string('ONE TWO THREE ')], &
shape = [2]) )
test_passed(3) = all( strjoin(array=chars_arr, sep='_') == &
reshape([string('one_two_three'), string('ONE_TWO_THREE')], &
shape = [2]) )
test_passed(4) = all( strjoin(array=chars_arr, sep='_', is_trim=.false.) == &
reshape([string('one _two _three '), &
string('ONE _TWO _THREE ')], &
shape = [2]) )
test_passed(5) = all( strjoin(array=chars_arr, is_col=.false.) == &
reshape([string('oneONE'), string('twoTWO'), string('threeTHREE')], &
shape = [3]) )
test_passed(6) = all( strjoin(array=chars_arr, is_trim=.false., is_col=.false.) == &
reshape([string('one ONE '), &
string('two TWO '), &
string('three THREE ')], &
shape = [3]) )
test_passed(7) = all( strjoin(array=chars_arr, sep='_', is_col=.false.) == &
reshape([string('one_ONE'), string('two_TWO'), string('three_THREE')], &
shape = [3]) )
test_passed(8) = all( strjoin(array=chars_arr, sep='_', is_trim=.false., is_col=.false.) == &
reshape([string('one _ONE '), &
string('two _TWO '), &
string('three _THREE ')], &
shape = [3]) )
chars_arr(2,1) = ''
test_passed(9) = all( strjoin(array=chars_arr, sep='_', is_col=.false.) == &
reshape([string('one_ONE'), &
string('TWO'), &
string('three_THREE')], &
shape = [3]) )
print '(L1)', all(test_passed)
all items of character array have equal lengths
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(kind=CK, len=*), | intent(in) | :: | array(1:,1:) |
Array to be joined. |
||
| character(kind=CK, len=*), | intent(in), | optional | :: | sep |
Separator. |
|
| logical, | intent(in), | optional | :: | is_trim |
Flag to setup trim character or not |
|
| logical, | intent(in), | optional | :: | is_col |
Direction: ‘columns’ if .true. or ‘rows’ if .false. |
The join of array.
Builtin adjustl overloading.
Left adjust a string by removing leading spaces (character output).
type(string) :: astring
astring = ' Hello World!'
print "(L1)", adjustl(astring)=='Hello World! '
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | s |
String. |
Adjusted string.
Builtin adjustr overloading.
Right adjust a string by removing leading spaces (character output).
type(string) :: astring
astring = 'Hello World! '
print "(L1)", adjustr(astring)==' Hello World!'
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | s |
String. |
Adjusted string.
Builtin count overloading.
Count the number of occurences of a substring into a string.
print "(L1)", count('hello', substring='ll')==1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | s |
String. |
||
| character(len=*), | intent(in) | :: | substring |
Substring. |
Number of occurrences.
Builtin index overloading.
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(string) :: string1
type(string) :: string2
logical :: test_passed(2)
string1 = 'Hello World Hello!'
string2 = 'llo'
test_passed(1) = string1%index(substring=string2)==index(string='Hello World Hello!', substring='llo')
test_passed(2) = string1%index(substring=string2, back=.true.)==index(string='Hello World Hello!', substring='llo', &
back=.true.)
print '(L1)', all(test_passed)
| 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(string) :: string1
logical :: test_passed(2)
string1 = 'Hello World Hello!'
test_passed(1) = string1%index(substring='llo')==index(string='Hello World Hello!', substring='llo')
test_passed(2) = string1%index(substring='llo', back=.true.)==index(string='Hello World Hello!', substring='llo', back=.true.)
print '(L1)', all(test_passed)
| 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(string) :: string1
logical :: test_passed(2)
string1 = 'llo'
test_passed(1) = index(s='Hello World Hello!', substring=string1)==index(string='Hello World Hello!', substring='llo')
test_passed(2) = index(s='Hello World Hello!', substring=string1, back=.true.)==index(string='Hello World Hello!', &
substring='llo', back=.true.)
print '(L1)', all(test_passed)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(kind=CK, len=*), | intent(in) | :: | s |
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.
Builtin len_trim overloading.
Return the length of a string, ignoring any trailing blanks.
type(string) :: astring
astring = 'Hello World! '
print "(L1)", astring%len_trim()==len_trim('Hello World! ')
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
String length.
Builtin repeat overloading.
Concatenates several copies of an input string.
type(string) :: astring
astring = 'x'
print "(L1)", astring%repeat(5)//''=='xxxxx'
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
String to be repeated. |
||
| integer, | intent(in) | :: | ncopies |
Number of string copies. |
Repeated string.
Builtin scan overloading.
Return the leftmost (if back is either absent or equals false, otherwise the rightmost) character of string that is in set.
type(string) :: string1
type(string) :: string2
logical :: test_passed(2)
string1 = 'Hello World Hello!'
string2 = 'llo'
test_passed(1) = string1%scan(set=string2)==scan(string='Hello World Hello!', set='llo')
test_passed(2) = string1%scan(set=string2, back=.true.)==scan(string='Hello World Hello!', set='llo', back=.true.)
print '(L1)', all(test_passed)
| 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(string) :: string1
logical :: test_passed(2)
string1 = 'Hello World Hello!'
test_passed(1) = string1%scan(set='llo')==scan(string='Hello World Hello!', set='llo')
test_passed(2) = string1%scan(set='llo', back=.true.)==scan(string='Hello World Hello!', set='llo', back=.true.)
print '(L1)', all(test_passed)
| 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(string) :: string1
logical :: test_passed(2)
string1 = 'llo'
test_passed(1) = scan(s='Hello World Hello!', set=string1)==scan(string='Hello World Hello!', set='llo')
test_passed(2) = scan(s='Hello World Hello!', set=string1, back=.true.)==scan(string='Hello World Hello!', &
set='llo', back=.true.)
print '(L1)', all(test_passed)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(kind=CK, len=*), | intent(in) | :: | s |
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.
Builtin trim overloading.
Remove trailing spaces.
type(string) :: astring
astring = 'Hello World! '
print "(L1)", astring%trim()==trim('Hello World! ')
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
Trimmed string.
Builtin verify overloading.
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(string) :: string1
type(string) :: string2
logical :: test_passed(2)
string1 = 'Hello World Hello!'
string2 = 'llo'
test_passed(1) = string1%verify(set=string2)==verify(string='Hello World Hello!', set='llo')
test_passed(2) = string1%verify(set=string2, back=.true.)==verify(string='Hello World Hello!', set='llo', back=.true.)
print '(L1)', all(test_passed)
| 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 not
in set. If all characters of string are found in set, the result is zero.
type(string) :: string1
logical :: test_passed(2)
string1 = 'Hello World Hello!'
test_passed(1) = string1%verify(set='llo')==verify(string='Hello World Hello!', set='llo')
test_passed(2) = string1%verify(set='llo', back=.true.)==verify(string='Hello World Hello!', set='llo', back=.true.)
print '(L1)', all(test_passed)
| 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(string) :: string1
logical :: test_passed(2)
string1 = 'ell'
test_passed(1) = verify(s='Hello World Hello!', set=string1)==verify(string='Hello World Hello!', set='llo')
test_passed(2) = verify(s='Hello World Hello!', set=string1, back=.true.)==verify(string='Hello World Hello!', set='llo', &
back=.true.)
print '(L1)', all(test_passed)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(kind=CK, len=*), | intent(in) | :: | s |
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.
OOP designed string class.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(kind=CK, len=:), | public, | 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. |
| generic, public :: verify => sverify_string_string, sverify_string_character | 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. |
| generic, public :: colorize => colorize_str | Colorize and stylize strings. |
| 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 :: glob => glob_character, glob_string | Glob search, finds all the pathnames matching a given pattern. |
| 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. |
| generic, public :: strjoin => strjoin_strings, strjoin_characters, strjoin_strings_array, strjoin_characters_array | Return a string that is a join of an array of strings or characters; Return join 1D string array of an 2D array of strings or characters in columns or rows. |
| 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) :: split_chunked | 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. |
| procedure, public, pass(self) :: tempname | Return a safe temporary name suitable for temporary file or directories. |
| generic, public :: to_number => to_integer_I1P, to_integer_I2P, to_integer_I4P, to_integer_I8P, to_real_R8P, to_real_R4P | 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_R8P, string_assign_real_R4P | 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. |
| generic, public :: read(formatted) => read_formatted | Formatted input. |
| generic, public :: write(formatted) => write_formatted | Formatted output. |
| generic, public :: read(unformatted) => read_unformatted | Unformatted input. |
| generic, public :: write(unformatted) => write_unformatted | Unformatted output. |
| 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, nopass :: 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) :: sverify_string_string | Verify replacement. |
| procedure, private, pass(self) :: sverify_string_character | Verify replacement. |
| procedure, private, pass(self) :: colorize_str | Colorize and stylize strings. |
| procedure, private, pass(self) :: glob_character | Glob search (character output). |
| procedure, private, pass(self) :: glob_string | Glob search (string output). |
| 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, nopass :: strjoin_strings | Return join string of an array of strings. |
| procedure, private, nopass :: strjoin_characters | Return join string of an array of strings. |
| procedure, private, nopass :: strjoin_strings_array | Return join 1D string array of an 2D array of strings in columns or rows. |
| procedure, private, nopass :: strjoin_characters_array | Return join 1D string array of an 2D array of characters in columns or rows. |
| 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. |
Return a string given a character input.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | c |
Character. |
String.
Left adjust a string by removing leading spaces (character output).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | s |
String. |
Adjusted string.
Right adjust a string by removing leading spaces (character output).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | s |
String. |
Adjusted string.
Count the number of occurences of a substring into a string.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | s |
String. |
||
| character(len=*), | intent(in) | :: | substring |
Substring. |
Number of occurrences.
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) | :: | s |
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 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) | :: | s |
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 not
in set. If all characters of string are found in set, the result is zero.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(kind=CK, len=*), | intent(in) | :: | s |
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.
Left adjust a string by removing leading spaces.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
Adjusted string.
Right adjust a string by removing leading spaces.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
Adjusted string.
Count the number of occurences of a substring into a string.
| 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.
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. |
||
| 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 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 |
The string. |
String length.
Concatenates several copies of an input string.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
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 | ||
|---|---|---|---|---|---|---|
| character(kind=CK, len=*), | intent(in) | :: | rstring |
String to be repeated. |
||
| integer, | intent(in) | :: | ncopies |
Number of string copies. |
Repeated string.
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. |
||
| 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.
Remove trailing spaces.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
Trimmed string.
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. |
||
| 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 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) | :: | set |
Searched set. |
||
| logical, | intent(in), | optional | :: | back |
Start of the last occurrence rather than the first. |
Result of the search.
Return the base directory name of a string containing a file name.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
||
| character(kind=CK, len=*), | intent(in), | optional | :: | sep |
Directory separator. |
Base directory 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. |
||
| 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 a string with all words capitalized without spaces.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
||
| character(kind=CK, len=*), | intent(in), | optional | :: | sep |
Separator. |
Camel case string.
Return a string with its first character capitalized and the rest lowercased.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
Upper case string.
Return the raw characters data.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
Raw characters data.
Colorize and stylize strings, DEFAULT kind.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
||
| character(len=*), | intent(in), | optional | :: | color_fg |
Foreground color definition. |
|
| character(len=*), | intent(in), | optional | :: | color_bg |
Background color definition. |
|
| character(len=*), | intent(in), | optional | :: | style |
Style definition. |
Colorized string.
Return a string decoded accordingly the codec.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
||
| character(kind=CK, len=*), | intent(in) | :: | codec |
Encoding codec. |
Decoded string.
Return a string encoded accordingly the codec.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
||
| character(kind=CK, len=*), | intent(in) | :: | codec |
Encoding codec. |
Encoded string.
Escape backslashes (or custom escape character).
| 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.
Return the extension of a string containing a file name.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
Extension file name.
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. |
||
| 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.
Insert substring into string at a specified position.
| 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.
Return a string that is a join of an array of strings.
| 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 characters.
| 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 strings.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(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 characters.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(kind=CK, len=*), | intent(in) | :: | array(1:) |
Array to be joined. |
||
| character(kind=CK, len=*), | intent(in), | optional | :: | sep |
Separator. |
|
| logical, | intent(in), | optional | :: | is_trim |
Flag to setup trim character or not |
The join of array.
Return a string that is a join of columns or rows of an array of strings.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | array(1:,1:) |
Array to be joined. |
||
| character(kind=CK, len=*), | intent(in), | optional | :: | sep |
Separator. |
|
| logical, | intent(in), | optional | :: | is_col |
Direction: ‘columns’ if .true. or ‘rows’ if .false. |
The join of array.
Return a string that is a join of columns or rows of an array of characters.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(kind=CK, len=*), | intent(in) | :: | array(1:,1:) |
Array to be joined. |
||
| character(kind=CK, len=*), | intent(in), | optional | :: | sep |
Separator. |
|
| logical, | intent(in), | optional | :: | is_trim |
Flag to setup trim character or not |
|
| logical, | intent(in), | optional | :: | is_col |
Direction: ‘columns’ if .true. or ‘rows’ if .false. |
The join of array.
Return a string with all lowercase characters.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
Upper case string.
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), | optional | :: | sep |
Separator. |
after the separator.
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) | :: | 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 reversed string.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
The reversed string.
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. |
||
| 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.
Return the raw characters data sliced.
| 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 a string with all words lowercase separated by “_”.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
||
| character(kind=CK, len=*), | intent(in), | optional | :: | sep |
Separator. |
Snake case string.
Return a string with all words capitalized, e.g. title case.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
||
| character(kind=CK, len=*), | intent(in), | optional | :: | sep |
Separator. |
Start case 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. |
||
| logical, | intent(in), | optional | :: | remove_nulls |
Remove null characters at the end. |
The stripped string.
Return a copy of the string with uppercase characters converted to lowercase and vice versa.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
Upper case string.
Return a safe temporary name suitable for temporary file or directories.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
||
| logical, | intent(in), | optional | :: | is_file |
True if tempname should be used for file (the default). |
|
| character(len=*), | intent(in), | optional | :: | prefix |
Name prefix, otherwise self is used (if allocated). |
|
| character(len=*), | intent(in), | optional | :: | path |
Path where file/directory should be used, default |
Safe (unique) temporary name.
Cast string to integer (I1P).
| 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 (I2P).
| 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 (I4P).
| 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 (I8P).
| 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 real (R4P).
| 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 (R8P).
| 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 (R16P).
| 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.
Unescape double backslashes (or custom escaped character).
| 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.
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), | optional | :: | substring |
Substring which multiple occurences must be reduced to one. |
String parsed.
Return a string with all uppercase characters.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
Upper case string.
Return true if a string ends with a specified suffix.
| 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. |
|
| logical, | intent(in), | optional | :: | ignore_null_eof |
Ignore null character at the end of file. |
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. |
Result of the test.
Return true if the string contains an 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 all characters in the string are lowercase.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
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. |
||
| logical, | intent(in), | optional | :: | allow_spaces |
Allow leading-trailing spaces. |
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. |
Result of the test.
Return true if a string starts with a specified prefix.
| 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.
Concatenation with string.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | lhs |
Left hand side. |
||
| type(string), | intent(in) | :: | rhs |
Right hand side. |
Concatenated string.
Concatenation with character.
| 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 (inverted).
| 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 string.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | lhs |
Left hand side. |
||
| type(string), | intent(in) | :: | rhs |
Right hand side. |
Concatenated string.
Concatenation with character.
| 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 (inverted).
| 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.
Equal to string logical operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | lhs |
Left hand side. |
||
| type(string), | intent(in) | :: | rhs |
Right hand side. |
Opreator test result.
Equal to character 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.
Equal to character (inverted) 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 string logical operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | lhs |
Left hand side. |
||
| type(string), | intent(in) | :: | rhs |
Right hand side. |
Opreator test result.
Not equal to character 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 (inverted) 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 string logical operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | lhs |
Left hand side. |
||
| type(string), | intent(in) | :: | rhs |
Right hand side. |
Opreator test result.
Lower than to character 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 (inverted) 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 string logical operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | lhs |
Left hand side. |
||
| type(string), | intent(in) | :: | rhs |
Right hand side. |
Opreator test result.
Lower equal than to character 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 (inverted) 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 string logical operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | lhs |
Left hand side. |
||
| type(string), | intent(in) | :: | rhs |
Right hand side. |
Opreator test result.
Greater equal than to character 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 (inverted) 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 string logical operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | lhs |
Left hand side. |
||
| type(string), | intent(in) | :: | rhs |
Right hand side. |
Opreator test result.
Greater than to character 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 (inverted) 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.
Return a string with the first occurrence of substring old replaced by new.
| 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.
Free dynamic memory.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(inout) | :: | self |
The string. |
Glob search (character output), finds all the pathnames matching a given pattern according to the rules used by the Unix shell.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
||
| character(len=*), | intent(in) | :: | pattern |
Given pattern. |
||
| character(len=:), | intent(out), | allocatable | :: | list(:) |
List of matching pathnames. |
Glob search (string output), finds all the pathnames matching a given pattern according to the rules used by the Unix shell.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
||
| character(len=*), | intent(in) | :: | pattern |
Given pattern. |
||
| type(string), | intent(out), | allocatable | :: | list(:) |
List of matching pathnames. |
Read a file as a single string stream.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(inout) | :: | self |
The string. |
||
| character(len=*), | intent(in) | :: | file |
File name. |
||
| logical, | intent(in), | optional | :: | is_fast |
Flag to enable (super) fast file reading. |
|
| 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(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. |
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. |
||
| type(string), | intent(out), | allocatable | :: | tokens(:) |
Tokens substring. |
|
| character(kind=CK, len=*), | intent(in), | optional | :: | sep |
Separator. |
|
| integer, | intent(in), | optional | :: | max_tokens |
Fix the maximum number of returned tokens. |
Return a list of substring in the string, using sep as the delimiter string, chunked (memory-efficient) algorithm.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
||
| type(string), | intent(out), | allocatable | :: | tokens(:) |
Tokens substring. |
|
| integer, | intent(in) | :: | chunks |
Number of chunks. |
||
| character(kind=CK, len=*), | intent(in), | optional | :: | sep |
Separator. |
Write a single string stream into file.
| 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 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(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. |
Assignment operator from string input.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(inout) | :: | lhs |
Left hand side. |
||
| type(string), | intent(in) | :: | rhs |
Right hand side. |
Assignment operator from character input.
| 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 integer 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 integer 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 integer 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 integer 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. |
Formatted 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. |
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. |
||
| 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 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. |
||
| 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(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. |
Formatted output.
| 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. |
Unformatted 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(kind=CK, len=*), | intent(inout) | :: | iomsg |
IO status message. |
Unformatted output.
| 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. |
Get the DELIM changeable connection mode for the given unit.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | unit |
The unit for the connection. |
||
| character(kind=CK, len=1), | 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 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. |
||
| 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 DECIMAL changeable connection mode for the given unit.
| 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. |