Cartesius Library
polymorphic_tree::node Type Reference

Public Member Functions

procedure, pass printtree
 
procedure, pass printtree_new
 
procedure, pass graft
 
procedure, pass update_tree_rank
 
procedure, pass getroot
 
procedure add_child => add_child_to_node
 
procedure add_child_to_subnode => add_node2
 
procedure get_child => find_node_by_name_fn, find_node_by_value_fn
 
procedure get_child_value => get_value_by_name2
 

Public Attributes

character(len=max_charname
 
integer rank
 
class(*), pointer value
 
type(node), pointer child => NULL()
 
type(node), pointer last_child => NULL()
 
type(node), pointer sibling => NULL()
 
type(node), pointer parent => NULL()
 
procedure(deallocatorprocedure), pointer, nopass pdeallocator => null()
 

Member Function/Subroutine Documentation

◆ add_child()

procedure polymorphic_tree::node::add_child

◆ add_child_to_subnode()

procedure polymorphic_tree::node::add_child_to_subnode

◆ get_child()

procedure polymorphic_tree::node::get_child
Here is the call graph for this function:

◆ get_child_value()

procedure polymorphic_tree::node::get_child_value

◆ getroot()

procedure, pass polymorphic_tree::node::getroot

◆ graft()

procedure, pass polymorphic_tree::node::graft

◆ printtree()

procedure, pass polymorphic_tree::node::printtree

◆ printtree_new()

procedure, pass polymorphic_tree::node::printtree_new

◆ update_tree_rank()

procedure, pass polymorphic_tree::node::update_tree_rank

Member Data Documentation

◆ child

type(node), pointer polymorphic_tree::node::child => NULL()

◆ last_child

type(node), pointer polymorphic_tree::node::last_child => NULL()

◆ name

character(len=max_char) polymorphic_tree::node::name

◆ parent

type(node), pointer polymorphic_tree::node::parent => NULL()

◆ pdeallocator

procedure(deallocatorprocedure), pointer, nopass polymorphic_tree::node::pdeallocator => null()
Attention
A deallocator procedure MUST be provided for derived types. Otherwize, if the derived type contains pointers, lists, trees, and other allocatable values, they will remain in memory.

◆ rank

integer polymorphic_tree::node::rank

◆ sibling

type(node), pointer polymorphic_tree::node::sibling => NULL()

◆ value

class(*), pointer polymorphic_tree::node::value

The documentation for this type was generated from the following file: