FTLinkedListIterator Derived Type

type, public, extends(FTObject) :: FTLinkedListIterator


Inherits

type~~ftlinkedlistiterator~~InheritsGraph type~ftlinkedlistiterator FTLinkedListIterator type~ftlinkedlist FTLinkedList type~ftlinkedlistiterator->type~ftlinkedlist list type~ftlinkedlistrecord FTLinkedListRecord type~ftlinkedlistiterator->type~ftlinkedlistrecord current type~ftobject FTObject type~ftlinkedlistiterator->type~ftobject type~ftlinkedlist->type~ftlinkedlistrecord head, tail type~ftlinkedlist->type~ftobject type~ftlinkedlistrecord->type~ftlinkedlistrecord next, previous type~ftlinkedlistrecord->type~ftobject recordObject type~ftlinkedlistrecord->type~ftobject

Inherited by

type~~ftlinkedlistiterator~~InheritedByGraph type~ftlinkedlistiterator FTLinkedListIterator type~ftsparsematrix FTSparseMatrix type~ftsparsematrix->type~ftlinkedlistiterator iterator

Components

Type Visibility Attributes Name Initial
class(FTLinkedList), public, POINTER :: list => NULL()
class(FTLinkedListRecord), public, POINTER :: current => NULL()

Finalization Procedures

final :: destructIterator


Type-Bound Procedures

procedure, public :: description => FTObjectDescription

  • public function FTObjectDescription(self)

    Returns a character string of length DESCRIPTION_CHARACTER_LENGTH that represents the object. the base class implementation returns an empty string. Note that if the description is too long, the expected string will be truncated. In general, one wants to use printDescription.

    Arguments

    Type IntentOptional Attributes Name
    class(FTObject) :: self

    Return Value character(len=DESCRIPTION_CHARACTER_LENGTH)

procedure, public :: printDescription => printFTObjectDescription

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 :: init => initEmpty

procedure, public :: initWithFTLinkedList

procedure, public :: isAtEnd => FTLinkedListIsAtEnd

procedure, public :: object => FTLinkedListObject

procedure, public :: currentRecord => FTLinkedListCurrentRecord

procedure, public :: linkedList => returnLinkedList

procedure, public :: className => linkedListIteratorClassName

procedure, public :: setLinkedList

procedure, public :: setToStart

procedure, public :: moveToNext

procedure, public :: removeCurrentRecord