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 217 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 238 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 248 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 258 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 296 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 304 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 322 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 345 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 361 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 370 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 378 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 391 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 400 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 411 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 420 of file linked_list.F90.