Octopus
linked_list_oct_m Module Reference

This module implements fully polymorphic linked lists, and some specializations thereof. More...

Detailed Description

This module implements fully polymorphic linked lists, and some specializations thereof.

Data Types

type  integer_iterator_t
 
type  integer_list_t
 This class implements a linked list of integer values. More...
 
type  linked_list_iterator_t
 This class implements an iterator for the polymorphic linked list. More...
 
type  linked_list_t
 This class implements a linked list of unlimited polymorphic values. More...
 
type  list_iterator_t
 
type  list_t
 This class implements a linked list of unlimited polymorphic values. More...
 

Functions/Subroutines

subroutine linked_list_add_node (this, value, clone)
 add a node to the linked list More...
 
subroutine linked_list_add_node_ptr (this, value)
 add data by pointer to the list More...
 
subroutine linked_list_add_node_copy (this, value)
 add data by copying to the list More...
 
subroutine linked_list_delete_node (this, value)
 delete a node from the list More...
 
subroutine linked_list_finalize (this)
 
subroutine linked_list_empty (this)
 
subroutine linked_list_copy (lhs, rhs)
 
logical function linked_list_has (this, value)
 
subroutine linked_list_iterator_start (this, list)
 
logical function linked_list_iterator_has_next (this)
 
class(*) function, pointer linked_list_iterator_get_next_ptr (this)
 
subroutine list_add_node (this, value)
 
class(*) function, pointer list_iterator_get_next (this)
 
subroutine integer_list_add_node (this, value)
 
integer function integer_iterator_get_next (this)
 

Function/Subroutine Documentation

◆ linked_list_add_node()

subroutine linked_list_oct_m::linked_list_add_node ( class(linked_list_t), intent(inout)  this,
class(*), target  value,
logical, intent(in)  clone 
)
private

add a node to the linked list

Parameters
[in,out]thisthe linked list
valuedata to be added
[in]cloneflag whether to clone, or keep a pointer

Definition at line 215 of file linked_list.F90.

◆ linked_list_add_node_ptr()

subroutine linked_list_oct_m::linked_list_add_node_ptr ( class(linked_list_t), intent(inout)  this,
class(*), target  value 
)
private

add data by pointer to the list

Parameters
[in,out]thisthe linked list
valuepointer to the data

Definition at line 236 of file linked_list.F90.

◆ linked_list_add_node_copy()

subroutine linked_list_oct_m::linked_list_add_node_copy ( class(linked_list_t), intent(inout)  this,
class(*), target  value 
)
private

add data by copying to the list

Parameters
[in,out]thisthe linked list
valuedata to be added

Definition at line 246 of file linked_list.F90.

◆ linked_list_delete_node()

subroutine linked_list_oct_m::linked_list_delete_node ( class(linked_list_t), intent(inout)  this,
class(*), target  value 
)
private

delete a node from the list

Parameters
[in,out]thisthe list
valuethe data to delete

Definition at line 256 of file linked_list.F90.

◆ linked_list_finalize()

subroutine linked_list_oct_m::linked_list_finalize ( type(linked_list_t), intent(inout)  this)
private

Definition at line 294 of file linked_list.F90.

◆ linked_list_empty()

subroutine linked_list_oct_m::linked_list_empty ( class(linked_list_t), intent(inout)  this)
private

Definition at line 302 of file linked_list.F90.

◆ linked_list_copy()

subroutine linked_list_oct_m::linked_list_copy ( class(linked_list_t), intent(out)  lhs,
class(linked_list_t), intent(in)  rhs 
)
private

Definition at line 320 of file linked_list.F90.

◆ linked_list_has()

logical function linked_list_oct_m::linked_list_has ( class(linked_list_t), intent(inout)  this,
class(*), target  value 
)
private

Definition at line 343 of file linked_list.F90.

◆ linked_list_iterator_start()

subroutine linked_list_oct_m::linked_list_iterator_start ( class(linked_list_iterator_t), intent(inout)  this,
class(linked_list_t), intent(in), target  list 
)
private

Definition at line 359 of file linked_list.F90.

◆ linked_list_iterator_has_next()

logical function linked_list_oct_m::linked_list_iterator_has_next ( class(linked_list_iterator_t), intent(in)  this)
private

Definition at line 368 of file linked_list.F90.

◆ linked_list_iterator_get_next_ptr()

class(*) function, pointer linked_list_oct_m::linked_list_iterator_get_next_ptr ( class(linked_list_iterator_t), intent(inout)  this)
private

Definition at line 376 of file linked_list.F90.

◆ list_add_node()

subroutine linked_list_oct_m::list_add_node ( class(list_t), intent(inout)  this,
class(*), target  value 
)
private

Definition at line 389 of file linked_list.F90.

◆ list_iterator_get_next()

class(*) function, pointer linked_list_oct_m::list_iterator_get_next ( class(list_iterator_t), intent(inout)  this)
private

Definition at line 398 of file linked_list.F90.

◆ integer_list_add_node()

subroutine linked_list_oct_m::integer_list_add_node ( class(integer_list_t), intent(inout)  this,
integer, target  value 
)
private

Definition at line 409 of file linked_list.F90.

◆ integer_iterator_get_next()

integer function linked_list_oct_m::integer_iterator_get_next ( class(integer_iterator_t), intent(inout)  this)
private

Definition at line 418 of file linked_list.F90.