buds  0.1
FORTRAN reference counted types
Modules | Data Types | Functions/Subroutines | Variables

Detailed Description

complex(selected_real_kind(6)) data type

Collaboration diagram for Complex (float):

Modules

module  bud_ll_carray3d
 

Data Types

type  ll_carray3d
 Linked list with each node containing cArray3D. More...
 
interface  new
 Create a new linked list with 1 node. More...
 
interface  new_ll_carray3d
 See interface #new More...
 
interface  assignment(=)
 Assignment of bud to another bud. More...
 
interface  nodes
 Query number of currently stored nodes in the linked list. More...
 
interface  size
 See interface nodes More...
 
interface  set_data
 Overwrite/Set data at an element in the list. More...
 
interface  add_node
 Add a new node to the end of the linked list. More...
 
interface  get_data
 Query data from node in the linked list. More...
 
interface  get_node
 See interface get_data More...
 
interface  set_head
 Set the head of the linked list to the indexed node. More...
 
interface  itt_step
 Itterator Forward iterator for a linked list from the head. More...
 
interface  remove_node
 Remove a specific node from the linked list. More...
 
interface  remove_node_data
 Remove data contained at a specific node. More...
 
interface  copy_list
 Copy a linked list to another linked list. More...
 
interface  print
 Print, to std-out, some basic information of the data-container. More...
 
interface  initialize
 Initialization of data container. More...
 
interface  is_initialized
 Query whether bud is associated with any data. More...
 
interface  initialized
 See interface is_initialized More...
 
interface  is_initd
 See interface is_initialized More...
 
interface  is_same
 Check whether two buds point to the same data (function) More...
 
interface  same
 See interface #is_same More...
 
interface  delete
 Deletes the bud by decreasing references to the underlying data. More...
 
interface  nullify
 Nullifies the current bud. More...
 
interface  references
 Query number of references to the bud. More...
 
interface  refs
 See interface #references More...
 

Functions/Subroutines

procedure, public delete => delete_
 See interface delete More...
 
procedure, public nullify => nullify_
 See interface nullify More...
 
procedure, public initialize => initialize_
 See interface initialize More...
 
procedure, public is_initialized => is_initialized_
 See interface is_initialized More...
 
procedure, public is_initd => is_initialized_
 See interface is_initialized More...
 
procedure, public initialized => is_initialized_
 See interface is_initialized More...
 
procedure, public is_same => is_same_
 See interface is_same More...
 
procedure, public same => is_same_
 See interface is_same More...
 
procedure, public references => references_
 See interface references More...
 
procedure, public refs => references_
 See interface references More...
 
procedure, public print => print_
 See interface print More...
 
procedure, private new_
 
procedure, private new_data_
 
generic, public new => new_, new_data_
 See interface new More...
 
procedure, public nodes => size_llist_
 See interface nodes More...
 
procedure, public size => size_llist_
 See interface nodes More...
 
procedure, private set_data_
 
procedure, private set_data_idx_
 
generic, public set_data => set_data_, set_data_idx_
 See interface set_data More...
 
generic, public set => set_data_, set_data_idx_
 See interface set_data More...
 
procedure, public get_node_data => get_node_data_idx_
 
procedure, public get_data => get_node_data_idx_
 See interface get_data More...
 
procedure, public get => get_node_data_idx_
 See interface get_data More...
 
procedure, private add_node_
 
procedure, private add_node_data_
 
generic, public add_node => add_node_, add_node_data_
 See interface add_node More...
 
procedure, public remove_node => remove_node_
 See interface remove_node More...
 
procedure, public remove_node_data => remove_node_data_
 See interface remove_node_data More...
 
procedure, public set_head => set_head_idx_
 See interface set_head More...
 
procedure, public copy_list => copy_list_
 See interface copy_list More...
 
procedure, public copy => copy_list_
 See interface copy_list More...
 
procedure, private itt_step_
 
procedure, private itt_step_i_
 
generic, public itt_step => itt_step_, itt_step_i_
 See interface itt_step More...
 
subroutine new_ (this)
 
subroutine new_data_ (this, D)
 
subroutine new_ (this)
 
subroutine new_data_ (this, D)
 
subroutine set_data_ (this, D)
 
integer function size_llist_ (this)
 
integer function size_llist_ (this)
 
subroutine set_data_ (this, D)
 
subroutine set_data_idx_ (this, D, index)
 
subroutine add_node_ (this)
 
subroutine add_node_data_ (this, D)
 
subroutine get_node_data_idx_ (this, D, index)
 
subroutine get_node_data_idx_ (this, D, index)
 
subroutine set_head_idx_ (this, index)
 Set the head of the linked list. More...
 
logical function itt_step_ (this, itt)
 
logical function itt_step_i_ (this, itt, i)
 
subroutine remove_node_ (this, index)
 
subroutine remove_node_data_ (this, index)
 
subroutine copy_list_ (from, to)
 
subroutine print_ (this, info, indent)
 
subroutine assign_ (lhs, rhs)
 
subroutine initialize_ (this)
 
pure logical function is_initialized_ (this)
 
pure logical function is_initialized_ (this)
 
pure logical function is_initialized_ (this)
 
elemental logical function is_same_ (lhs, rhs)
 
elemental logical function is_same_ (lhs, rhs)
 
elemental subroutine delete_ (this)
 
elemental subroutine nullify_ (this)
 
elemental integer function references_ (this)
 
elemental integer function references_ (this)
 
subroutine initialize_ (this)
 
pure logical function is_initialized_ (this)
 
elemental logical function is_same_ (lhs, rhs)
 
elemental subroutine delete_ (this)
 
elemental subroutine nullify_ (this)
 
subroutine assign_ (lhs, rhs)
 
elemental integer function references_ (this)
 
subroutine new_ (this)
 
subroutine new_data_ (this, D)
 
integer function size_llist_ (this)
 
subroutine add_node_ (this)
 
subroutine add_node_data_ (this, D)
 
subroutine set_data_ (this, D)
 
subroutine set_data_idx_ (this, D, index)
 
subroutine set_head_idx_ (this, index)
 Set the head of the linked list. More...
 
subroutine get_node_data_idx_ (this, D, index)
 
logical function itt_step_ (this, itt)
 
logical function itt_step_i_ (this, itt, i)
 
subroutine remove_node_ (this, index)
 
subroutine remove_node_data_ (this, index)
 
subroutine copy_list_ (from, to)
 
subroutine print_ (this, info, indent)
 

Variables

character(len=*), parameter, private bud_mod = "bud_" // "bud_LL_cArray3D"
 Name of module. More...
 
character(len=*), parameter, private bud_type = "LL_cArray3D"
 Name of bud in this module. More...
 

Function/Subroutine Documentation

generic, public add_node ( )

See interface add_node

procedure, private add_node_ ( )
private
subroutine add_node_ ( class(ll_carray3d), intent(inout)  this)
private
Parameters
[in,out]thisadd a new element to the linked list
subroutine bud_ll_carray3d::add_node_ ( class(ll_carray3d), intent(inout)  this)
private
Parameters
[in,out]thisadd a new element to the linked list
procedure, private add_node_data_ ( )
private
subroutine bud_ll_carray3d::add_node_data_ ( class(ll_carray3d), intent(inout)  this,
type(carray3d), intent(in)  D 
)
private
Parameters
[in,out]thisadd a new element to the linked list
[in]Dstored data at the new node
subroutine add_node_data_ ( class(ll_carray3d), intent(inout)  this,
type(carray3d), intent(in)  D 
)
private
Parameters
[in,out]thisadd a new element to the linked list
[in]Dstored data at the new node
subroutine bud_ll_carray3d::assign_ ( class(ll_carray3d), intent(inout)  lhs,
class(ll_carray3d), intent(in)  rhs 
)
private
Parameters
[in,out]lhscontains rhs after exit
[in]rhscopy the containing element bud
subroutine assign_ ( class(ll_carray3d), intent(inout)  lhs,
class(ll_carray3d), intent(in)  rhs 
)
private
Parameters
[in,out]lhscontains rhs after exit
[in]rhscopy the containing element bud
procedure, public copy ( )

See interface copy_list

procedure, public copy_list ( )

See interface copy_list

subroutine bud_ll_carray3d::copy_list_ ( class(ll_carray3d), intent(inout)  from,
class(ll_carray3d), intent(inout)  to 
)
private
Parameters
[in,out]fromthe linked list that is the original list
[in,out]toa copy of from upon exit
subroutine copy_list_ ( class(ll_carray3d), intent(inout)  from,
class(ll_carray3d), intent(inout)  to 
)
private
Parameters
[in,out]fromthe linked list that is the original list
[in,out]toa copy of from upon exit
procedure, public delete ( )

See interface delete

elemental subroutine bud_ll_carray3d::delete_ ( class(ll_carray3d), intent(inout)  this)
private
Parameters
[in,out]thisreturned bud is un-initialized with no data associated

Here is the call graph for this function:

elemental subroutine delete_ ( class(ll_carray3d), intent(inout)  this)
private
Parameters
[in,out]thisreturned bud is un-initialized with no data associated
procedure, public get ( )

See interface get_data

procedure, public get_data ( )

See interface get_data

procedure, public get_node_data ( )
subroutine bud_ll_carray3d::get_node_data_idx_ ( class(ll_carray3d), intent(in), target  this,
type(carray3d), intent(inout)  D,
integer, intent(in), optional  index 
)
private
Parameters
[in]thisretrieve data from this linked list with associated head
[in,out]Dthe data stored at the element in the linked list
[in]indexoptional=1 index of element to return. May be negative to offset from the head for doubly linked lists
subroutine get_node_data_idx_ ( class(ll_carray3d), intent(in), target  this,
type(carray3d), intent(inout)  D,
integer, intent(in), optional  index 
)
private
Parameters
[in]thisretrieve data from this linked list with associated head
[in,out]Dthe data stored at the element in the linked list
[in]indexoptional=1 index of element to return. May be negative to offset from the head for doubly linked lists
subroutine get_node_data_idx_ ( class(ll_carray3d), intent(in), target  this,
type(carray3d), intent(inout)  D,
integer, intent(in), optional  index 
)
private
Parameters
[in]thisretrieve data from this linked list with associated head
[in,out]Dthe data stored at the element in the linked list
[in]indexoptional=1 index of element to return. May be negative to offset from the head for doubly linked lists
procedure, public initialize ( )

See interface initialize

subroutine bud_ll_carray3d::initialize_ ( class(ll_carray3d), intent(inout)  this)
private
Parameters
[in,out]thisbud that is initialized
subroutine initialize_ ( class(ll_carray3d), intent(inout)  this)
private
Parameters
[in,out]thisbud that is initialized
procedure, public initialized ( )

See interface is_initialized

procedure, public is_initd ( )

See interface is_initialized

procedure, public is_initialized ( )

See interface is_initialized

pure logical function bud_ll_carray3d::is_initialized_ ( class(ll_carray3d), intent(in)  this)
private
Parameters
[in]thischeck if this bud is initialized
Returns
.true. if it is associated, else .false.
pure logical function is_initialized_ ( class(ll_carray3d), intent(in)  this)
private
Parameters
[in]thischeck if this bud is initialized
Returns
.true. if it is associated, else .false.
pure logical function is_initialized_ ( class(ll_carray3d), intent(in)  this)
private
Parameters
[in]thischeck if this bud is initialized
Returns
.true. if it is associated, else .false.
pure logical function is_initialized_ ( class(ll_carray3d), intent(in)  this)
private
Parameters
[in]thischeck if this bud is initialized
Returns
.true. if it is associated, else .false.
procedure, public is_same ( )

See interface is_same

elemental logical function is_same_ ( class(ll_carray3d), intent(in)  lhs,
class(ll_carray3d), intent(in)  rhs 
)
private
Parameters
[in]lhsfirst bud
[in]rhssecond bud
Returns
.true. if lhs and rhs point to the same data
elemental logical function bud_ll_carray3d::is_same_ ( class(ll_carray3d), intent(in)  lhs,
class(ll_carray3d), intent(in)  rhs 
)
private
Parameters
[in]lhsfirst bud
[in]rhssecond bud
Returns
.true. if lhs and rhs point to the same data
elemental logical function is_same_ ( class(ll_carray3d), intent(in)  lhs,
class(ll_carray3d), intent(in)  rhs 
)
private
Parameters
[in]lhsfirst bud
[in]rhssecond bud
Returns
.true. if lhs and rhs point to the same data
generic, public itt_step ( )

See interface itt_step

procedure, private itt_step_ ( )
private
logical function bud_ll_carray3d::itt_step_ ( class(ll_carray3d), intent(in)  this,
class(ll_carray3d), intent(inout)  itt 
)
private
Parameters
[in]thisthe linked list to be iterated
[in,out]ittthe itterator container
Returns
.true. if the next element can be reached
logical function itt_step_ ( class(ll_carray3d), intent(in)  this,
class(ll_carray3d), intent(inout)  itt 
)
private
Parameters
[in]thisthe linked list to be iterated
[in,out]ittthe itterator container
Returns
.true. if the next element can be reached
procedure, private itt_step_i_ ( )
private
logical function bud_ll_carray3d::itt_step_i_ ( class(ll_carray3d), intent(in)  this,
class(ll_carray3d), intent(inout)  itt,
integer, intent(in)  i 
)
private
Parameters
[in]thisthe linked list to be iterated
[in,out]ittthe itterator container
[in]ithe number of elements that should be stepped (the first iteration will always be the head)
Returns
.true. if the next element can be reached
logical function itt_step_i_ ( class(ll_carray3d), intent(in)  this,
class(ll_carray3d), intent(inout)  itt,
integer, intent(in)  i 
)
private
Parameters
[in]thisthe linked list to be iterated
[in,out]ittthe itterator container
[in]ithe number of elements that should be stepped (the first iteration will always be the head)
Returns
.true. if the next element can be reached
generic, public new ( )

See interface new

procedure, private new_ ( )
private
subroutine new_ ( class(ll_carray3d), intent(inout)  this)
private
Parameters
[in,out]thisinitialized linked list upon exit
subroutine bud_ll_carray3d::new_ ( class(ll_carray3d), intent(inout)  this)
private
Parameters
[in,out]thisinitialized linked list upon exit
subroutine new_ ( class(ll_carray3d), intent(inout)  this)
private
Parameters
[in,out]thisinitialized linked list upon exit
procedure, private new_data_ ( )
private
subroutine new_data_ ( class(ll_carray3d), intent(inout)  this,
type(carray3d), intent(in)  D 
)
private
subroutine bud_ll_carray3d::new_data_ ( class(ll_carray3d), intent(inout)  this,
type(carray3d), intent(in)  D 
)
private
subroutine new_data_ ( class(ll_carray3d), intent(inout)  this,
type(carray3d), intent(in)  D 
)
private
procedure, public nodes ( )

See interface nodes

procedure, public nullify ( )

See interface nullify

elemental subroutine bud_ll_carray3d::nullify_ ( class(ll_carray3d), intent(inout)  this)
private
Parameters
[in,out]thisnullify references from this bud
elemental subroutine nullify_ ( class(ll_carray3d), intent(inout)  this)
private
Parameters
[in,out]thisnullify references from this bud
procedure, public print ( )

See interface print

subroutine bud_ll_carray3d::print_ ( class(ll_carray3d), intent(in), target  this,
character(len=*), intent(in), optional  info,
integer, intent(in), optional  indent 
)
private
Parameters
[in]thislinked list
[in]infooptional="LL_cArray3D" additional information printed
[in]indentoptional=1 possible indentation of printed statement
subroutine print_ ( class(ll_carray3d), intent(in), target  this,
character(len=*), intent(in), optional  info,
integer, intent(in), optional  indent 
)
private
Parameters
[in]thislinked list
[in]infooptional="LL_cArray3D" additional information printed
[in]indentoptional=1 possible indentation of printed statement
procedure, public references ( )

See interface references

elemental integer function references_ ( class(ll_carray3d), intent(in)  this)
private
Parameters
[in]thisreference counted bud
Returns
number of times this has been referenced
elemental integer function bud_ll_carray3d::references_ ( class(ll_carray3d), intent(in)  this)
private
Parameters
[in]thisreference counted bud
Returns
number of times this has been referenced
elemental integer function references_ ( class(ll_carray3d), intent(in)  this)
private
Parameters
[in]thisreference counted bud
Returns
number of times this has been referenced
procedure, public refs ( )

See interface references

procedure, public remove_node ( )

See interface remove_node

subroutine bud_ll_carray3d::remove_node_ ( class(ll_carray3d), intent(inout), target  this,
integer, intent(in)  index 
)
private
Parameters
[in,out]thislinked list which should get a node removed
[in]indexthe index of the node that should be removed from the linked list
subroutine remove_node_ ( class(ll_carray3d), intent(inout), target  this,
integer, intent(in)  index 
)
private
Parameters
[in,out]thislinked list which should get a node removed
[in]indexthe index of the node that should be removed from the linked list
procedure, public remove_node_data ( )

See interface remove_node_data

subroutine bud_ll_carray3d::remove_node_data_ ( class(ll_carray3d), intent(inout), target  this,
integer, intent(in), optional  index 
)
private
Parameters
[in,out]thisthe linked list which should get the data in a node removed
[in]indexthe index of the node where the contained data should be removed
subroutine remove_node_data_ ( class(ll_carray3d), intent(inout), target  this,
integer, intent(in), optional  index 
)
private
Parameters
[in,out]thisthe linked list which should get the data in a node removed
[in]indexthe index of the node where the contained data should be removed
procedure, public same ( )

See interface is_same

generic, public set ( )

See interface set_data

generic, public set_data ( )

See interface set_data

procedure, private set_data_ ( )
private
subroutine set_data_ ( class(ll_carray3d), intent(inout)  this,
type(carray3d), intent(in)  D 
)
private
Parameters
[in,out]thislinked list item where the data is overwritten
[in]Ditem to be stored in the head of this
subroutine bud_ll_carray3d::set_data_ ( class(ll_carray3d), intent(inout)  this,
type(carray3d), intent(in)  D 
)
private
Parameters
[in,out]thislinked list item where the data is overwritten
[in]Ditem to be stored in the head of this
subroutine set_data_ ( class(ll_carray3d), intent(inout)  this,
type(carray3d), intent(in)  D 
)
private
Parameters
[in,out]thislinked list item where the data is overwritten
[in]Ditem to be stored in the head of this
procedure, private set_data_idx_ ( )
private
subroutine bud_ll_carray3d::set_data_idx_ ( class(ll_carray3d), intent(inout)  this,
type(carray3d), intent(in)  D,
integer, intent(in)  index 
)
private
Parameters
[in,out]thislinked list item where the data is overwritten
[in]Ditem to be stored in the head of this
[in]indexindex of element in linked list to be stored
subroutine set_data_idx_ ( class(ll_carray3d), intent(inout)  this,
type(carray3d), intent(in)  D,
integer, intent(in)  index 
)
private
Parameters
[in,out]thislinked list item where the data is overwritten
[in]Ditem to be stored in the head of this
[in]indexindex of element in linked list to be stored
procedure, public set_head ( )

See interface set_head

subroutine set_head_idx_ ( class(ll_carray3d), intent(inout)  this,
integer, intent(in)  index 
)
private

Set the head of the linked list.

subroutine bud_ll_carray3d::set_head_idx_ ( class(ll_carray3d), intent(inout)  this,
integer, intent(in)  index 
)
private

Set the head of the linked list.

procedure, public size ( )

See interface nodes

integer function bud_ll_carray3d::size_llist_ ( class(ll_carray3d), intent(in), target  this)
private
Parameters
[in,out]thislinked list that is queried
Returns
number of nodes in the list
integer function size_llist_ ( class(ll_carray3d), intent(in), target  this)
private
Parameters
[in,out]thislinked list that is queried
Returns
number of nodes in the list
integer function size_llist_ ( class(ll_carray3d), intent(in), target  this)
private
Parameters
[in,out]thislinked list that is queried
Returns
number of nodes in the list

Variable Documentation

character(len=*), parameter, private bud_mod = "bud_" // "bud_LL_cArray3D"
private

Name of module.

character(len=*), parameter, private bud_type = "LL_cArray3D"
private

Name of bud in this module.