IOSS 2.0

Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Static Private Member Functions | List of all members
Ioss::IOFactory Class Referenceabstract

The main public user interface for creating Ioss::DatabaseIO objects. More...

`#include <Ioss_IOFactory.h>`

## Public Member Functions
virtual | ~IOFactory ()=default

## Static Public Member Functions
static DatabaseIO * | create (const std::string &type, const std::string &filename, DatabaseUsage db_usage, MPI_Comm communicator=MPI_COMM_WORLD, const Ioss::PropertyManager &properties=Ioss::PropertyManager())
| Create an IO database. More...
static int | describe (NameList *names)
| Get the names of database formats known to IOSS. More...
static void | clean ()
| Empty method. More...

## Protected Member Functions
| IOFactory (const std::string &type)
virtual DatabaseIO * | make_IO (const std::string &filename, DatabaseUsage db_usage, MPI_Comm communicator, const Ioss::PropertyManager &properties) const =0

## Static Protected Member Functions
static void | alias (const std::string &base, const std::string &syn)

## Static Private Member Functions
static IOFactoryMap * | registry ()

## Detailed Description

The main public user interface for creating Ioss::DatabaseIO objects.

## Constructor & Destructor Documentation

## ◆ ~IOFactory()

virtual Ioss::IOFactory::~IOFactory | ( |  | ) |
| virtual default

## ◆ IOFactory()

Ioss::IOFactory::IOFactory | ( | const std::string & | type | ) |
| explicit protected

## Member Function Documentation

## ◆ alias()

void Ioss::IOFactory::alias | ( | const std::string & | base,
|  | const std::string & | syn
| ) |  |
| static protected

## ◆ clean()

void Ioss::IOFactory::clean | ( |  | ) |
| static

Empty method.

## ◆ create()

Ioss::DatabaseIO * Ioss::IOFactory::create | ( | const std::string & | type,
|  | const std::string & | filename,
|  | Ioss::DatabaseUsage | db_usage,
|  | MPI_Comm | communicator = `MPI_COMM_WORLD`,
|  | const Ioss::PropertyManager & | properties = `Ioss::PropertyManager()`
| ) |  |
| static

Create an IO database.

This is the public interface method for creating an Ioss::DatabaseIO object. If Ioss is invoked with more than one process, type == "exodus", db_usage == Ioss::READ_MODEL, and properties contains the property DECOMPOSITION_METHOD, which is not set to EXTERNAL, then a parallel decompose-on-the-fly (dof) style Exodus database will be created. The mesh in a single Exodus file will be decomposed according to DECOMPOSITION_METHOD. Otherwise, if the number of processes is greater than one, then a file-per-process (fpp) style Exodus database will be created. In this case, Ioss expects the mesh in p Exodus files, where p is the number of processes in communicator.

Parameters

  [in] | type | The database file format. Use Ioss::IOFactory::describe to list formats known to Ioss.
  [in] | filename | The name of the database file to read from or write to.
  [in] | db_usage | Specifies whether the database will be used for input, normal output, restart output, etc.
  [in] | communicator | The MPI communicator.
  [in] | properties | The property manager associated with the database.

Returns
  A pointer to the newly-constructed Ioss::DatabaseIO object, or NULL if unsuccessful.

## ◆ describe()

int Ioss::IOFactory::describe | ( | NameList * | names | ) |
| static

Get the names of database formats known to IOSS.

Parameters

  [out] | names | The list of known database format names.

Returns
  The number of known database formats.

## ◆ make_IO()

virtual DatabaseIO* Ioss::IOFactory::make_IO | ( | const std::string & | filename,
|  | DatabaseUsage | db_usage,
|  | MPI_Comm | communicator,
|  | const Ioss::PropertyManager & | properties
| ) |  | const
| protected pure virtual

Implemented in Iogs::IOFactory, Iogn::IOFactory, Iohb::IOFactory, Iodw::IOFactory, Iopg::IOFactory, Iovs::IOFactory, Iocgns::IOFactory, and Ioex::IOFactory.

## ◆ registry()

Ioss::IOFactoryMap * Ioss::IOFactory::registry | ( |  | ) |
| static private

The documentation for this class was generated from the following files:

- src/Ioss_IOFactory.h
- src/Ioss_IOFactory.C