9#include "ioss_export.h"
27 using NameList = std::vector<std::string>;
28 using IOFactoryMap = std::map<std::string, IOFactory *, std::less<>>;
39 create(
const std::string &type,
const std::string &filename,
DatabaseUsage db_usage,
43 static int describe(
NameList *names);
49 explicit IOFactory(
const std::string &type);
57 static void alias(
const std::string &base,
const std::string &syn);
#define IOSS_NODISCARD
Definition Ioss_CodeTypes.h:54
int Ioss_MPI_Comm
Definition Ioss_CodeTypes.h:63
An input or output Database.
Definition Ioss_DatabaseIO.h:63
The main public user interface for creating Ioss::DatabaseIO objects.
Definition Ioss_IOFactory.h:35
virtual ~IOFactory()=default
virtual IOSS_NODISCARD std::string show_config() const
Definition Ioss_IOFactory.h:55
virtual IOSS_NODISCARD DatabaseIO * make_IO(const std::string &filename, DatabaseUsage db_usage, Ioss_MPI_Comm communicator, const Ioss::PropertyManager &properties) const =0
static IOSS_NODISCARD constexpr Ioss_MPI_Comm comm_world()
Definition Ioss_ParallelUtils.h:47
A collection of Ioss::Property objects.
Definition Ioss_PropertyManager.h:36
The main namespace for the Ioss library.
Definition Ioad_DatabaseIO.C:40
DatabaseUsage
Specifies how an Ioss::DatabaseIO object will be used.
Definition Ioss_DBUsage.h:13
std::map< std::string, IOFactory *, std::less<> > IOFactoryMap
Definition Ioss_IOFactory.h:28
std::vector< std::string > NameList
Definition Ioss_CodeTypes.h:23