FTValueDictionary Derived Type

type, public, extends(FTDictionary) :: FTValueDictionary


Inherits

type~~ftvaluedictionary~~InheritsGraph type~ftvaluedictionary FTValueDictionary type~ftdictionary FTDictionary type~ftvaluedictionary->type~ftdictionary type~ftlinkedlist FTLinkedList type~ftdictionary->type~ftlinkedlist entries type~ftobject FTObject type~ftdictionary->type~ftobject type~ftlinkedlist->type~ftobject type~ftlinkedlistrecord FTLinkedListRecord type~ftlinkedlist->type~ftlinkedlistrecord head, tail type~ftlinkedlistrecord->type~ftobject recordObject type~ftlinkedlistrecord->type~ftobject type~ftlinkedlistrecord->type~ftlinkedlistrecord next, previous

Components

Type Visibility Attributes Name Initial
integer, public :: numberOfEntries
logical, public :: isCaseSensitive
type(FTLinkedList), public, DIMENSION(:), POINTER :: entries => NULL()

Type-Bound Procedures

procedure, public, non_overridable :: copy => copyFTObject

  • private function copyFTObject(self) result(copy)

    Base class implementation of the assignment function. Call this from within any subclasses copy assignment function. All FTObject's implementation does is set the reference count to one, implying no additional ownership to the caller that is creating the copy.

    Arguments

    Type IntentOptional Attributes Name
    class(FTObject), intent(in) :: self

    Return Value class(FTObject), POINTER

procedure, public, non_overridable :: retain => retainFTObject

  • public subroutine retainFTObject(self)

    Retain increases the reference count by one and implies ownership to the caller. ### Usage: CALL obj\ % retain()

    Arguments

    Type IntentOptional Attributes Name
    class(FTObject) :: self

procedure, public, non_overridable :: isUnreferenced

  • public function isUnreferenced(self)

    Owners of objects should call isUnreferenced after releasing a pointer object. If true, the object should be deallocated and then set to point to NULL()

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(FTObject) :: self

    Return Value logical

procedure, public, non_overridable :: refCount

  • public function refCount(self)

    Returns the reference count for the object. Normally this is done only for debugging purposes.

    Arguments

    Type IntentOptional Attributes Name
    class(FTObject) :: self

    Return Value integer

procedure, public :: initWithSize

  • public subroutine initWithSize(self, sze)

    Arguments

    Type IntentOptional Attributes Name
    class(FTDictionary) :: self
    integer, intent(in) :: sze

procedure, public :: init

  • public subroutine init(self)

    Arguments

    Type IntentOptional Attributes Name
    class(FTDictionary) :: self

procedure, public :: allKeys => AllKeys

  • public function AllKeys(self) result(keys)

    Arguments

    Type IntentOptional Attributes Name
    class(FTDictionary) :: self

    Return Value character(len=FTDICT_KWD_STRING_LENGTH), POINTER, (:)

procedure, public :: allObjects => AllObjects

procedure, public :: addObjectForKey

  • public subroutine addObjectForKey(self, object, key)

    Arguments

    Type IntentOptional Attributes Name
    class(FTDictionary) :: self
    class(FTObject), POINTER :: object
    character(len=*) :: key

procedure, public :: description => FTDictionaryDescription

  • public function FTDictionaryDescription(self)

    Arguments

    Type IntentOptional Attributes Name
    class(FTDictionary) :: self

    Return Value character(len=description_character_length)

procedure, public :: printDescription => printFTDictionaryDescription

procedure, public :: objectForKey

  • public function objectForKey(self, key)

    Arguments

    Type IntentOptional Attributes Name
    class(FTDictionary) :: self
    character(len=*) :: key

    Return Value class(FTObject), POINTER

procedure, public :: containsKey

  • public function containsKey(self, key) result(r)

    Arguments

    Type IntentOptional Attributes Name
    class(FTDictionary) :: self
    character(len=*) :: key

    Return Value logical

procedure, public :: COUNT

  • public function COUNT(self)

    Arguments

    Type IntentOptional Attributes Name
    class(FTDictionary) :: self

    Return Value integer

generic, public :: addValueForKey => addRealValueForKey, addDoublePrecisionValueForKey, addIntegerValueForKey, addStringValueForKey, addLogicalValueForKey

generic, public :: addValueForKey => addQuadValueForKey

  • public subroutine addQuadValueForKey(self, r, key)

    Arguments

    Type IntentOptional Attributes Name
    class(FTValueDictionary) :: self
    real(kind=SELECTED_REAL_KIND(QUAD_DIGITS)) :: r
    character(len=*) :: key

procedure, public :: realValueForKey

  • public function realValueForKey(self, key)

    Arguments

    Type IntentOptional Attributes Name
    class(FTValueDictionary) :: self
    character(len=*) :: key

    Return Value real

procedure, public :: doublePrecisionValueForKey

procedure, public :: quadValueForKey

  • public function quadValueForKey(self, key)

    Arguments

    Type IntentOptional Attributes Name
    class(FTValueDictionary) :: self
    character(len=*) :: key

    Return Value real(kind=selected_real_kind(quad_digits))

procedure, public :: integerValueForKey

procedure, public :: stringValueForKey

  • public function stringValueForKey(self, key, requestedLength)

    Arguments

    Type IntentOptional Attributes Name
    class(FTValueDictionary) :: self
    character(len=*) :: key
    integer :: requestedLength

    Return Value character(len=requestedLength)

procedure, public :: logicalValueForKey

procedure, public :: className => valueDictionaryClassName

  • public function valueDictionaryClassName(self) result(s)

    Class name returns a string with the name of the type of the object

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(FTValueDictionary) :: self

    Return Value character(len=CLASS_NAME_CHARACTER_LENGTH)