ActionVector Derived Type

type, public :: ActionVector


Inherits

type~~actionvector~~InheritsGraph type~actionvector ActionVector type~vector_wrapper~9 vector_wrapper type~actionvector->type~vector_wrapper~9 elements type~extensionaction ExtensionAction type~vector_wrapper~9->type~extensionaction item

Constructor

public interface ActionVector

  • private function vector_new_vector_empty() result(v)

    Arguments

    None

    Return Value type(ActionVector)

  • private function vector_new_vector_fill_size_kind(n, value) result(v)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=GFTL_SIZE_KIND), intent(in) :: n
    class(ExtensionAction), intent(in), optional :: value

    Return Value type(ActionVector)

  • private function vector_new_vector_fill_default(n, value) result(v)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n
    class(ExtensionAction), intent(in), optional :: value

    Return Value type(ActionVector)

  • private function vector_new_vector_range(first, last) result(v)

    Arguments

    Type IntentOptional Attributes Name
    type(ActionVectorIterator), intent(in) :: first
    type(ActionVectorIterator), intent(in) :: last

    Return Value type(ActionVector)

  • private function vector_new_vector_copy(x) result(v)

    Arguments

    Type IntentOptional Attributes Name
    type(ActionVector) :: x

    Return Value type(ActionVector)


Type-Bound Procedures

generic, public :: at => at_default

  • private function vector_at_default(this, i, rc) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in), target :: this
    integer, intent(in) :: i
    integer, intent(out) :: rc

    Return Value class(ExtensionAction), pointer

generic, public :: at => of_default

  • private function vector_of_default(this, i) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in), target :: this
    integer, intent(in) :: i

    Return Value class(ExtensionAction), pointer

generic, public :: at => at_size_kind

  • private function vector_at_size_kind(this, i, rc) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in), target :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: i
    integer, intent(out) :: rc

    Return Value class(ExtensionAction), pointer

generic, public :: at => of_size_kind

  • private function vector_of_size_kind(this, i) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in), target :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: i

    Return Value class(ExtensionAction), pointer

procedure, public :: at_default => vector_at_default

  • private function vector_at_default(this, i, rc) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in), target :: this
    integer, intent(in) :: i
    integer, intent(out) :: rc

    Return Value class(ExtensionAction), pointer

procedure, public :: at_size_kind => vector_at_size_kind

  • private function vector_at_size_kind(this, i, rc) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in), target :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: i
    integer, intent(out) :: rc

    Return Value class(ExtensionAction), pointer

procedure, public :: back => vector_back

  • private function vector_back(this) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in), target :: this

    Return Value class(ExtensionAction), pointer

procedure, public :: begin => vector_begin

  • private function vector_begin(this) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in), target :: this

    Return Value type(ActionVectorIterator)

procedure, public :: capacity => vector_capacity

  • private pure function vector_capacity(this) result(capacity)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in) :: this

    Return Value integer(kind=GFTL_SIZE_KIND)

procedure, public :: clear => vector_clear

  • private recursive subroutine vector_clear(this)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout) :: this

procedure, public :: empty => vector_empty

  • private pure function vector_empty(this) result(empty)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in) :: this

    Return Value logical

procedure, public :: end => vector_end

  • private function vector_end(this) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in), target :: this

    Return Value type(ActionVectorIterator)

generic, public :: erase => erase_one

  • private function vector_erase_one(this, position) result(new_iter)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout), target :: this
    type(ActionVectorIterator), intent(in) :: position

    Return Value type(ActionVectorIterator), target

generic, public :: erase => erase_range

procedure, public :: erase_one => vector_erase_one

  • private function vector_erase_one(this, position) result(new_iter)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout), target :: this
    type(ActionVectorIterator), intent(in) :: position

    Return Value type(ActionVectorIterator), target

procedure, public :: erase_range => vector_erase_range

procedure, public :: front => vector_front

  • private function vector_front(this) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in), target :: this

    Return Value class(ExtensionAction), pointer

procedure, public :: ftn_begin => vector_ftn_begin

  • private function vector_ftn_begin(this) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in), target :: this

    Return Value type(ActionVectorIterator)

procedure, public :: ftn_end => vector_ftn_end

  • private function vector_ftn_end(this) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in), target :: this

    Return Value type(ActionVectorIterator)

generic, public :: insert => vector_insert_one

generic, public :: insert => vector_insert_count_size_kind

  • private recursive function vector_insert_count_size_kind(this, pos, count, value) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout), target :: this
    type(ActionVectorIterator), intent(in) :: pos
    integer(kind=GFTL_SIZE_KIND), intent(in) :: count
    class(ExtensionAction), intent(in) :: value

    Return Value type(ActionVectorIterator)

generic, public :: insert => vector_insert_count_default

  • private function vector_insert_count_default(this, pos, count, value) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout), target :: this
    type(ActionVectorIterator), intent(in) :: pos
    integer, intent(in) :: count
    class(ExtensionAction), intent(in) :: value

    Return Value type(ActionVectorIterator)

generic, public :: insert => vector_insert_range

procedure, public, nopass :: max_size => vector_max_size

  • private pure function vector_max_size() result(res)

    Arguments

    None

    Return Value integer(kind=GFTL_SIZE_KIND)

generic, public :: of => of_default

  • private function vector_of_default(this, i) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in), target :: this
    integer, intent(in) :: i

    Return Value class(ExtensionAction), pointer

generic, public :: of => of_size_kind

  • private function vector_of_size_kind(this, i) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in), target :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: i

    Return Value class(ExtensionAction), pointer

procedure, public :: of_default => vector_of_default

  • private function vector_of_default(this, i) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in), target :: this
    integer, intent(in) :: i

    Return Value class(ExtensionAction), pointer

procedure, public :: of_size_kind => vector_of_size_kind

  • private function vector_of_size_kind(this, i) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in), target :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: i

    Return Value class(ExtensionAction), pointer

procedure, public :: pop_back => vector_pop_back

  • private subroutine vector_pop_back(this)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout) :: this

procedure, public :: push_back => vector_push_back

  • private recursive subroutine vector_push_back(this, value, unused, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout) :: this
    class(ExtensionAction), intent(in) :: value
    type(KeywordEnforcer), intent(in), optional :: unused
    integer, intent(out), optional :: rc

procedure, public :: rbegin => vector_rbegin

  • private function vector_rbegin(this) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in), target :: this

    Return Value type(VectorRIterator)

procedure, public :: rend => vector_rend

  • private function vector_rend(this) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in), target :: this

    Return Value type(VectorRIterator)

generic, public :: reserve => reserve_default

  • private subroutine vector_reserve_default(this, capacity, unused, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout) :: this
    integer, intent(in) :: capacity
    class(KeywordEnforcer), intent(in), optional :: unused
    integer, intent(out), optional :: rc

generic, public :: reserve => reserve_size_kind

  • private subroutine vector_reserve_size_kind(this, capacity, unused, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout) :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: capacity
    class(KeywordEnforcer), intent(in), optional :: unused
    integer, intent(out), optional :: rc

procedure, public :: reserve_default => vector_reserve_default

  • private subroutine vector_reserve_default(this, capacity, unused, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout) :: this
    integer, intent(in) :: capacity
    class(KeywordEnforcer), intent(in), optional :: unused
    integer, intent(out), optional :: rc

procedure, public :: reserve_size_kind => vector_reserve_size_kind

  • private subroutine vector_reserve_size_kind(this, capacity, unused, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout) :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: capacity
    class(KeywordEnforcer), intent(in), optional :: unused
    integer, intent(out), optional :: rc

procedure, public :: reset => vector_reset

  • private subroutine vector_reset(this)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout) :: this

generic, public :: resize => resize_default

  • private subroutine vector_resize_default(this, count, unused, value, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout) :: this
    integer, intent(in) :: count
    type(KeywordEnforcer), intent(in), optional :: unused
    class(ExtensionAction), intent(in), optional :: value
    integer, intent(out), optional :: rc

generic, public :: resize => resize_size_kind

  • private subroutine vector_resize_size_kind(this, count, unused, value, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout) :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: count
    type(KeywordEnforcer), intent(in), optional :: unused
    class(ExtensionAction), intent(in), optional :: value
    integer, intent(out), optional :: rc

procedure, public :: resize_default => vector_resize_default

  • private subroutine vector_resize_default(this, count, unused, value, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout) :: this
    integer, intent(in) :: count
    type(KeywordEnforcer), intent(in), optional :: unused
    class(ExtensionAction), intent(in), optional :: value
    integer, intent(out), optional :: rc

procedure, public :: resize_size_kind => vector_resize_size_kind

  • private subroutine vector_resize_size_kind(this, count, unused, value, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout) :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: count
    type(KeywordEnforcer), intent(in), optional :: unused
    class(ExtensionAction), intent(in), optional :: value
    integer, intent(out), optional :: rc

generic, public :: set => set_default

  • private subroutine vector_set_default(this, i, value)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout) :: this
    integer, intent(in) :: i
    class(ExtensionAction), intent(in) :: value

generic, public :: set => set_size_kind

  • private subroutine vector_set_size_kind(this, i, value)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout) :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: i
    class(ExtensionAction), intent(in) :: value

procedure, public :: set_default => vector_set_default

  • private subroutine vector_set_default(this, i, value)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout) :: this
    integer, intent(in) :: i
    class(ExtensionAction), intent(in) :: value

procedure, public :: set_size_kind => vector_set_size_kind

  • private subroutine vector_set_size_kind(this, i, value)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout) :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: i
    class(ExtensionAction), intent(in) :: value

procedure, public :: shrink_to_fit => vector_shrink_to_fit

  • private subroutine vector_shrink_to_fit(this)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout) :: this

procedure, public :: size => vector_size

  • private pure function vector_size(this) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in) :: this

    Return Value integer(kind=GFTL_SIZE_KIND)

procedure, public :: swap => vector_swap

  • private subroutine vector_swap(this, x)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout), target :: this
    type(ActionVector), intent(inout), target :: x

procedure, public :: vector_insert_count_default

  • private function vector_insert_count_default(this, pos, count, value) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout), target :: this
    type(ActionVectorIterator), intent(in) :: pos
    integer, intent(in) :: count
    class(ExtensionAction), intent(in) :: value

    Return Value type(ActionVectorIterator)

procedure, public :: vector_insert_count_size_kind

  • private recursive function vector_insert_count_size_kind(this, pos, count, value) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(inout), target :: this
    type(ActionVectorIterator), intent(in) :: pos
    integer(kind=GFTL_SIZE_KIND), intent(in) :: count
    class(ExtensionAction), intent(in) :: value

    Return Value type(ActionVectorIterator)

procedure, public :: vector_insert_one

procedure, public :: vector_insert_range

generic, public :: write(formatted) => write_formatted

  • private subroutine vector_write_formatted(this, unit, iotype, v_list, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in) :: this
    integer, intent(in) :: unit
    character(len=*), intent(in) :: iotype
    integer, intent(in) :: v_list(:)
    integer, intent(out) :: iostat
    character(len=*), intent(inout) :: iomsg

procedure, public :: write_formatted => vector_write_formatted

  • private subroutine vector_write_formatted(this, unit, iotype, v_list, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    class(ActionVector), intent(in) :: this
    integer, intent(in) :: unit
    character(len=*), intent(in) :: iotype
    integer, intent(in) :: v_list(:)
    integer, intent(out) :: iostat
    character(len=*), intent(inout) :: iomsg