Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 11 additions & 6 deletions Docs/FTObjectLibraryProject.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
project: FTObjectLibrary
src_dir: ../Source
output_dir: ./HTMLdocs
page_dir: ./pages
summary: A Fortran library for reference counted object and container classes.
author: David A. Kopriva
author_description: Department of Mathematics, The Florida State University
email: kopriva@math.fsu.edu
website: https://www.math.fsu.edu/~kopriva
graph: true
graph: true
project_github: https://github.com/trixi-framework/FTObjectLibrary
source: false
predocmark:>

# Overview

FTObjectLibrary provides a collection of reference counted Fortran 2003 classes to
FTObjectLibrary provides a collection of reference counted Fortran 2003 classes to
facilitate writing generic object oriented Fortran programs. Reference counting
is implemented to assist with memory management so that the lifespans of objects
are properly maintained and are so that objects are deleted only when no other references are made to them.

The library includes three categories of classes:

* Value classes
Expand All @@ -36,7 +37,7 @@ Included in the library are the following standard container classes:
- FTStack is a subclass of FTLinkedList that adds the usual push, pop, and peek routines.
- FTSparseMatrix associates a double index (i,j) to an FTObject. Basically this is a two dimensional sparse matrix of pointers to FTObjects.
- FTMultiIndexTable associates an integer array keys(:) to an FTObject. Basically this is an m--dimensional sparse matrix of pointers to FTObjects.
- FTDictionary is an ``associative container'', that associates a string to another FTObject.
- FTDictionary is an ``associative container'', that associates a string to another FTObject.
- FTValueDictionary is a subclass of FTDictionary that has additional methods to store and retrieve
values.
- FTMutableObjectArray is a mutable one-dimensional array class that can store any FTObject
Expand All @@ -46,11 +47,11 @@ values.

# Documentation

Documentation can be found in the [user's guide](UsersGuide.md).
Documentation can be found in the [user's guide](page/UsersGuide.html).

# Examples

Examples can be found in the [Examples](../Examples) directory and in the [Testing](../Testing) directory. The examples include a simple reverse Polish calculator using a stack, and another showing the use of a linked list. The testing directory includes tests that can be run on the library, which themselves serve as examples of the use of all of the classes.
Examples can be found in the [Examples](https://github.com/trixi-framework/FTObjectLibrary/tree/main/Examples) directory and in the [Testing](https://github.com/trixi-framework/FTObjectLibrary/tree/main/Testing) directory. The examples include a simple reverse Polish calculator using a stack, and another showing the use of a linked list. The testing directory includes tests that can be run on the library, which themselves serve as examples of the use of all of the classes.

# Building the Library

Expand All @@ -73,3 +74,7 @@ make
```

That will create the necessary files in that directory, which can be moved to somewhere else as desired.

# News

Notable additions are documented in the [News](page/News.html)
10 changes: 8 additions & 2 deletions Docs/News.md → Docs/pages/News.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
---
title: News
---

[Back to the main documentation](../index.html)

# News

July 29, 2026
## July 29, 2026

FTOL now has two versions, as necessary for procedures that need to distinguish between objects declared as TYPE and those declared as CLASS. See the documentation and the tests for examples.

May 11, 2025
## May 11, 2025

The stringValue() and stringValueForKey() functions now use allocated strings, so the requestedLength argument is no longer necessary. Existing code can continue to use the older versions, but those versions are deprecated and undocumented.
Loading
Loading