fson_value_m Module



Contents


Variables

TypeVisibility AttributesNameInitial
integer, public, parameter:: TYPE_UNKNOWN =-1
integer, public, parameter:: TYPE_NULL =0
integer, public, parameter:: TYPE_OBJECT =1
integer, public, parameter:: TYPE_ARRAY =2
integer, public, parameter:: TYPE_STRING =3
integer, public, parameter:: TYPE_INTEGER =4
integer, public, parameter:: TYPE_REAL =5
integer, public, parameter:: TYPE_LOGICAL =6

Interfaces

public interface fson_value_get

  • private function get_by_index(this, index) result(p)

    Arguments

    Type IntentOptional AttributesName
    type(fson_value), pointer:: this
    integer, intent(in) :: index

    Return Value type(fson_value), pointer

  • private function get_by_name_chars(this, name) result(p)

    Arguments

    Type IntentOptional AttributesName
    type(fson_value), pointer:: this
    character(len=*), intent(in) :: name

    Return Value type(fson_value), pointer

  • private function get_by_name_string(this, name) result(p)

    Arguments

    Type IntentOptional AttributesName
    type(fson_value), pointer:: this
    type(fson_string), pointer:: name

    Return Value type(fson_value), pointer


Derived Types

type, public :: fson_value

Components

TypeVisibility AttributesNameInitial
type(fson_string), public, pointer:: name=> null()
integer, public :: value_type =TYPE_UNKNOWN
logical, public :: value_logical
integer, public :: value_integer
real, public :: value_real
real(kind=kind(1.0D0)), public :: value_double
type(fson_string), public, pointer:: value_string=> null()
type(fson_value), public, pointer:: next=> null()
type(fson_value), public, pointer:: parent=> null()
type(fson_value), public, pointer:: children=> null()

Functions

public function fson_value_create() result(new)

Arguments

None

Return Value type(fson_value), pointer

public function fson_value_count(this) result(count)

Arguments

Type IntentOptional AttributesName
type(fson_value), pointer:: this

Return Value integer

private function get_by_index(this, index) result(p)

Arguments

Type IntentOptional AttributesName
type(fson_value), pointer:: this
integer, intent(in) :: index

Return Value type(fson_value), pointer

private function get_by_name_chars(this, name) result(p)

Arguments

Type IntentOptional AttributesName
type(fson_value), pointer:: this
character(len=*), intent(in) :: name

Return Value type(fson_value), pointer

private function get_by_name_string(this, name) result(p)

Arguments

Type IntentOptional AttributesName
type(fson_value), pointer:: this
type(fson_string), pointer:: name

Return Value type(fson_value), pointer


Subroutines

public recursive subroutine fson_value_destroy(this)

Arguments

Type IntentOptional AttributesName
type(fson_value), pointer:: this

public subroutine fson_value_add(this, member)

Arguments

Type IntentOptional AttributesName
type(fson_value), pointer:: this
type(fson_value), pointer:: member

public recursive subroutine fson_value_print(this, indent)

Arguments

Type IntentOptional AttributesName
type(fson_value), pointer:: this
integer, intent(in), optional :: indent