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(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 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. |