sp_smart_pointer_t Derived Type

type, public, abstract, extends(sp_resource_t) :: sp_smart_pointer_t


Inherits

type~~sp_smart_pointer_t~~InheritsGraph type~sp_smart_pointer_t sp_smart_pointer_t type~sp_reference_counter_t sp_reference_counter_t type~sp_smart_pointer_t->type~sp_reference_counter_t counter type~sp_resource_t sp_resource_t type~sp_smart_pointer_t->type~sp_resource_t type~sp_reference_counter_t->type~sp_resource_t object_

Contents


Components

TypeVisibilityAttributesNameInitial
type(sp_reference_counter_t), private :: counter

Type-Bound Procedures

procedure(free_interface), public, deferred :: free

  • impure elemental subroutine free_interface(self)Prototype

    Arguments

    TypeIntentOptionalAttributesName
    class(sp_resource_t), intent(inout) :: self

procedure, public :: reference_count

  • interface

    private pure module module function reference_count(self) result(counter)

    Arguments

    TypeIntentOptionalAttributesName
    class(sp_smart_pointer_t), intent(in) :: self

    Return Value integer

procedure, public, non_overridable :: release_handle

procedure, public, non_overridable :: start_counter