Skip to content
Tom Clune edited this page Feb 21, 2019 · 11 revisions

Welcome to the gFTL wiki!

What are containers?

How do I use gFTL?

quick tutorial

Containers currently supported by gFTL:

Compiler support

  • Intel ifort 18.0.3
  • GNU gfortran 8.2
  • NAG nagfor 6.2

OS support

  • Linux
  • OS X

Nifty features

  • gFTL supports containers of elements that have POINTER or ALLOCATABLE attributes
  • gFTL supports containers of fixed size arrays
  • gFTL supports containers of deferred shape arrays
  • gFTL supports containers of (allocatable or pointer) polymorphic elements ** pointers to elements in such containers are robust even on insertion and deletion of (other) elements
  • Robust pointers with polymorphic elements
  • Known compiler bugs
  • map

Gotchas

  • If you define a container in 2 locations, Fortran considers them separate types. Even if spelled the exactly the same. So, if you want to share a container across multiple software components, be sure to declare it in some shared module that can be accessed accordingly. (And see gFTL-shared below.)
  • Known compiler bugs
  • You need to #define _alt when using map containers. This may change someday.

gFTL-shared - library of common gFTL containers with intrinsic types