Derived Types

TypeLocationExtendsDescription
array_listarray_list_modlist

A concrete implementation of the list abstract data type. This implementation stores list contents in an array. It is fast to read from, but it is slow to insert elements into the middle of the list or to add new items to the end (if doing so requires the storage array to be expanded).

bidir_nodebidir_node_modlinked_node

A node which, in addition to holding a value, points at two other (the previous and next) bidir_node objects or objects of a descendent type. This type can be built up into a chain, allowing a doubly-linked list to be formed.

character_containercontainer_modcontainer

A container for holding the defualt character type.

complex16_containercontainer_modcontainer

A container for holding the 16 byte complex type.

complex4_containercontainer_modcontainer

A container for holding the 4 byte complex type.

complex8_containercontainer_modcontainer

A container for holding the 8 byte complex type.

complex_containercontainer_modcontainer

A container for holding the defualt complex type.

containerabstract_container_modNone

An abstract derived type which contains data. This type can be used for a sort of unlimited polymorphism. It is extended to create different classes capable of holding particular data-types. Extensions must implement the procedure typeguard in order to provide the ability to transfer data out of the container and into a variable. Assuming that you are creating a concrete class called example_container, this should be implemented as follows:

countablecountable_moditerable

An abstract data type which can be iterated, for which the number of pieces of items of data stored within is known.

data_setdata_set_modcountable

An abstract type for set data structures. These sets support a similar selection of operations as do their mathematical counterparts. The collection of methods for this type waas inspired by those available for the frozenset type in Python.

dequedeque_modqueue

An abstract data type representing the double ended queue data structure. Rather than just pushing items to one end (the "left end") and popping them from the other (the "right end"), items can be pushed or popped to/from either the right or the left.

dictionarydictionary_moddata_set

An abstract type for mapping data structures. These are data structures which consist of key-value pairs. Examples of such structures are dictionaries in Python or a hash variable in Perl.

dynamic_setdynamic_set_moddata_set

An abstract data type for dynamic sets. These are much like mathematical sets, but differ from the parent data_set type in that items can be added to or removed from the set. To accomplish this, various additional methods are available. This data type is similar to the set type in Python.

int1_containercontainer_modcontainer

A container for holding the 1 byte integer type.

int2_containercontainer_modcontainer

A container for holding the 2 byte integer type.

int4_containercontainer_modcontainer

A container for holding the 4 byte integer type.

int8_containercontainer_modcontainer

A container for holding the 8 byte integer type.

int_containercontainer_modcontainer

A container for holding the defualt integer type.

iterableiterable_modNone

An abstract type which can return and iterator object representing its contents. All of the more complex public data structures in FIAT are descendants of this one.

iteratoriterator_modNone

A data type which provides a collection of data to the user. Objects of this type are returned using the iter method of FIAT's other data types. The contents of the iterator are set to be the same as the iterable at the time when the iter method was called. If new items are later added to the iterable object, this will not be reflected in the iterator object.

linked_nodelinked_node_modnode

A node which, in addition to holding a value, points at another (the next) linked_node or descendent type. This type can be built up into a chain, allowing a linked list to be formed.

listlist_moddeque

An abstract data type representing a list. This is a fully dynamic means of storing data of a single type and comes with many advanced type-bound procedures for manipulating said data. This derived type aims to provide many of the same features found in lists in higher-level languages such as Python

logical_containercontainer_modcontainer

A container for holding the defualt logical type.

mapmap_moddictionary

An abstract type for the standard map data structures. These are data structures which consist of key-value pairs, with only one value per key. It has similar functionality to the dictionary type in Python.

multimapmultimap_moddictionary

An abstract type for the standard map data structures. These are data structures which consist of key-value pairs, potentially holding multiple values per key.

multisetmultiset_moddynamic_set

Provides an abstract type for a multi-set data structure. These behave like a normal set, except they keep count of the number of times which an item has been added. When an item is removed, the count will be decremented by 1. The item will only become absent from the list (has returns .false.) when the count reaches zero.

nodenode_modNone

An object which contains a container that can be set to have arbitrary contents. While of limited use on its own, various derived types exist which are extensions of this one exist and are used to build more complex data structures.

orderedordered_modcountable

An abstract type which is an ancestor for any data structure in which items are stored in a particular order. This means that the order in which items are placed in the structure will determine the order in which they are retrieved. Examples of data structures descending from this one are a [[stack]], queue, or list.

queuequeue_modordered

An abstract data type representing the queue structure. This is largely a placeholder type, in case some methods specific to queues are added at a later time. However, it does implement the is_fifo method.

real16_containercontainer_modcontainer

A container for holding the 16 byte real type.

real4_containercontainer_modcontainer

A container for holding the 4 byte real type.

real8_containercontainer_modcontainer

A container for holding the 8 byte real type.

real_containercontainer_modcontainer

A container for holding the defualt real type.

type~~graph~~TypeGraph type~node node type~linked_node linked_node type~node->type~linked_node type~array_list array_list type~complex16_container complex16_container type~iterable iterable type~countable countable type~iterable->type~countable type~linked_node->type~linked_node next type~bidir_node bidir_node type~linked_node->type~bidir_node type~ordered ordered type~countable->type~ordered type~data_set data_set type~countable->type~data_set type~real8_container real8_container type~deque deque type~list list type~deque->type~list type~int2_container int2_container type~dynamic_set dynamic_set type~multiset multiset type~dynamic_set->type~multiset type~int_container int_container type~list->type~array_list type~bidir_node->type~bidir_node prev type~real4_container real4_container type~logical_container logical_container type~int1_container int1_container type~character_container character_container type~real16_container real16_container type~complex8_container complex8_container type~complex4_container complex4_container type~container container type~container->type~node contents type~container->type~array_list contents type~container->type~complex16_container type~container->type~real8_container type~container->type~int2_container type~container->type~int_container type~container->type~real4_container type~container->type~logical_container type~container->type~int1_container type~container->type~character_container type~container->type~real16_container type~container->type~complex8_container type~container->type~complex4_container type~complex_container complex_container type~container->type~complex_container type~int8_container int8_container type~container->type~int8_container type~iterator iterator type~container->type~iterator contents type~real_container real_container type~container->type~real_container type~int4_container int4_container type~container->type~int4_container type~multimap multimap type~queue queue type~ordered->type~queue type~data_set->type~dynamic_set type~dictionary dictionary type~data_set->type~dictionary type~dictionary->type~multimap type~map map type~dictionary->type~map type~queue->type~deque
Help