33 #ifndef IOSS_Ioss_IOFactory_h 34 #define IOSS_Ioss_IOFactory_h 51 using NameList = std::vector<std::string>;
52 using IOFactoryMap = std::map<std::string, IOFactory *, std::less<std::string>>;
62 static DatabaseIO *
create(
const std::string &type,
const std::string &filename,
70 explicit IOFactory(
const std::string &type);
76 static void alias(
const std::string &base,
const std::string &syn);
std::vector< std::string > NameList
Definition: Ioss_CodeTypes.h:44
static int describe(NameList *names)
Get the names of database formats known to IOSS.
Definition: Ioss_IOFactory.C:129
The main namespace for the Ioss library.
Definition: Iocgns_DatabaseIO.h:50
An input or output Database.
Definition: Ioss_DatabaseIO.h:80
IOFactory(const std::string &type)
Definition: Ioss_IOFactory.C:135
The main public user interface for creating Ioss::DatabaseIO objects.
Definition: Ioss_IOFactory.h:58
static void clean()
Empty method.
Definition: Ioss_IOFactory.C:154
virtual DatabaseIO * make_IO(const std::string &filename, DatabaseUsage db_usage, MPI_Comm communicator, const Ioss::PropertyManager &properties) const =0
DatabaseUsage
Specifies how an Ioss::DatabaseIO object will be used.
Definition: Ioss_DBUsage.h:40
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.
Definition: Ioss_IOFactory.C:87
#define MPI_COMM_WORLD
Definition: Ioss_CodeTypes.h:78
std::map< std::string, IOFactory *, std::less< std::string > > IOFactoryMap
Definition: Ioss_IOFactory.h:52
static IOFactoryMap * registry()
Definition: Ioss_IOFactory.C:146
static void alias(const std::string &base, const std::string &syn)
Definition: Ioss_IOFactory.C:140
int MPI_Comm
Definition: Ioss_CodeTypes.h:79
virtual ~IOFactory()=default
A collection of Ioss::Property objects.
Definition: Ioss_PropertyManager.h:49