Teuchos - Trilinos Tools Package  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Teuchos: The Trilinos Tools Library



Teuchos provides a suite of common tools for many Trilinos packages. These tools include memory management classes such as "smart" pointers and arrays, "parameter lists" for communicating hierarchical lists of parameters between library or application layers, templated wrappers for the BLAS and LAPACK, XML parsers, and other utilities. They provide a unified "look and feel" across Trilinos packages, and help avoid common programming mistakes.

We encourage the addition of new utilities to Teuchos. Please contact the Teuchos developer team (see below for contact information) if you would like to share your utility.

Teuchos Contributors

The following people have contributed to the development of Teuchos:

Summary of Teuchos' Configuration Options

Teuchos has several different build options which change its behavior. You must set these options before building Trilinos, when configuring the build using CMake.

Overview of Teuchos Subpackages

Teuchos contains several different types of software. These different collections are organized into different subpackages.

Teuchos Core Subpackage

The Teuchos Core subpackage (Trilinos_ENABLE_TeuchosCore:BOOL=ON) contains basic, general-purpose utilities.

Teuchos ParameterList Subpackage

The Teuchos ParameterList subpackage (Trilinos_ENABLE_TeuchosParameterList=ON) contains the Teuchos::ParameterList class and related utilities. The Teuchos::ParameterList class is a serializable hierarchical object database. Many Trilinos packages let users specify run-time options and flags as a Teuchos::ParameterList. They also use it internally to pass information between different software layers.

Teuchos Communication Subpackage

The Teuchos Comm subpackage (Trilinos_ENABLE_TeuchosComm=ON) contains support for SPMD parallel programs and useful utilities that depend on these.

Teuchos Numerics Subpackage

The Teuchos Numerics subpackage (Trilinos_ENABLE_TeuchosNumerics=ON) contains BLAS and LAPACK C++ wrappers and C++ classes that use these for dense serial matrices and vectors.

Teuchos Parser Subpackage

The Teuchos Parser subpackage (Trilinos_ENABLE_TeuchosParser=ON) contains classes to parse text-based file formats described as formal grammars. It can be used to parse XML, YAML, and other complex textual input formats. It can be thought of as a version of Flex and Bison which is a set of C++ functions acting on C++ objects as opposed to a set of programs acting on source files. The two main classes in Teuchos Parser are:

Teuchos Remainder Subpackage

The Teuchos Remainder subpackage (Trilinos_ENABLE_TeuchosRemainder=ON)contains left over stuff that does not fit will into the above subpackages or is slated to be deprecated and removed.

Browse all of Teuchos

You can browse all of Teuchos as a single doxygen collection. This is not the recommended way to learn about Teuchos software. However, it is a good way to browse the directory structure of Teuchos or to locate specific files.