FTDataClass Module

FTData defines a subclass of FTObject to contain immutable generic data, including derived types.

The initializer copies the data and takes ownership of that copy. FTData gives a way to use derived types without having to subclass FTObject.


Uses

  • module~~ftdataclass~~UsesGraph module~ftdataclass FTDataClass module~ftobjectclass FTObjectClass module~ftdataclass->module~ftobjectclass

Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: DATA_CLASS_TYPE_LENGTH = 32

Derived Types

type, public, extends(FTObject) ::  FTData

Finalizations Procedures

final :: destructData

Type-Bound Procedures

procedure, public :: init => initFTObject
procedure, public :: description => FTObjectDescription
procedure, public :: printDescription => printFTObjectDescription
procedure, public, non_overridable :: copy => copyFTObject
procedure, public, non_overridable :: retain => retainFTObject
procedure, public, non_overridable :: isUnreferenced
procedure, public, non_overridable :: refCount
procedure, public :: initWithDataOfType
procedure, public :: storedData
procedure, public :: storedDataSize
procedure, public :: storedDataType
procedure, public :: dataIsOfType
procedure, public :: className => dataClassName

Functions

public function storedData(self) result(d)

Arguments

Type IntentOptional Attributes Name
class(FTData) :: self

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

public function storedDataSize(self)

Arguments

Type IntentOptional Attributes Name
class(FTData) :: self

Return Value integer

public function storedDataType(self) result(t)

Arguments

Type IntentOptional Attributes Name
class(FTData) :: self

Return Value character(len=DATA_CLASS_TYPE_LENGTH)

public function dataFromObject(obj) result(cast)

Arguments

Type IntentOptional Attributes Name
class(FTObject), POINTER :: obj

Return Value class(FTData), POINTER

public function dataClassName(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(FTData) :: self

Return Value character(len=CLASS_NAME_CHARACTER_LENGTH)

public function dataIsOfType(self, dataType) result(t)

Arguments

Type IntentOptional Attributes Name
class(FTData) :: self
character(len=*) :: dataType

Return Value logical


Subroutines

public subroutine initWithDataOfType(self, genericData, dataType)

Arguments

Type IntentOptional Attributes Name
class(FTData) :: self
character(len=1) :: genericData(:)
character(len=*) :: dataType

public subroutine destructData(self)

Arguments

Type IntentOptional Attributes Name
type(FTData) :: self

public subroutine releaseFTData(self)

Arguments

Type IntentOptional Attributes Name
type(FTData), POINTER :: self