IOSS 2.0
Loading...
Searching...
No Matches
Ioex_IOFactory.h
Go to the documentation of this file.
1// Copyright(C) 1999-2020, 2022, 2023, 2024 National Technology & Engineering Solutions
2// of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
3// NTESS, the U.S. Government retains certain rights in this software.
4//
5// See packages/seacas/LICENSE for details
6
7#pragma once
8
9#include "Ioss_CodeTypes.h"
10#include "Ioss_DBUsage.h" // for DatabaseUsage
11#include "Ioss_IOFactory.h" // for IOFactory
12#include <string> // for string
13
14#include "Ioss_DatabaseIO.h" // for DatabaseIO
15#include "ioex_export.h"
16
17namespace Ioss {
18 class PropertyManager;
19} // namespace Ioss
20
21namespace Ioex {
22
23 class IOEX_EXPORT IOFactory : public Ioss::IOFactory
24 {
25 public:
26 static const IOFactory *factory();
27
28 private:
29 IOFactory();
31 make_IO(const std::string &filename, Ioss::DatabaseUsage db_usage, Ioss_MPI_Comm communicator,
32 const Ioss::PropertyManager &properties) const override;
33 IOSS_NODISCARD std::string show_config() const override;
34 };
35} // namespace Ioex
#define IOSS_NODISCARD
Definition Ioss_CodeTypes.h:54
int Ioss_MPI_Comm
Definition Ioss_CodeTypes.h:63
Definition Ioex_IOFactory.h:24
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
A collection of Ioss::Property objects.
Definition Ioss_PropertyManager.h:36
A namespace for the exodus database format.
Definition Ioex_BaseDatabaseIO.C:198
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