23 #include "openPMD/config.hpp"
24 #include "openPMD/auxiliary/Export.hpp"
25 #include "openPMD/IO/AbstractIOHandler.hpp"
27 #if openPMD_HAVE_ADIOS1
28 # include "openPMD/IO/AbstractIOHandlerImpl.hpp"
29 # include <adios_read.h>
35 #if openPMD_HAVE_ADIOS1
36 # include <unordered_map>
37 # include <unordered_set>
43 #if openPMD_HAVE_ADIOS1
52 std::future< void > flush()
override;
75 virtual int64_t open_write(
Writable *);
76 virtual ADIOS_FILE* open_read(std::string
const & name);
78 void close(ADIOS_FILE*);
79 int64_t initialize_group(std::string
const& name);
80 void flush_attribute(int64_t group, std::string
const& name,
Attribute const&);
83 ADIOS_READ_METHOD m_readMethod;
84 std::unordered_map< Writable*, std::shared_ptr< std::string > > m_filePaths;
85 std::unordered_map< std::shared_ptr< std::string >, int64_t > m_groups;
86 std::unordered_map< std::shared_ptr< std::string >,
bool > m_existsOnDisk;
87 std::unordered_map< std::shared_ptr< std::string >, int64_t > m_openWriteFileHandles;
88 std::unordered_map< std::shared_ptr< std::string >, ADIOS_FILE* > m_openReadFileHandles;
89 std::unordered_map< ADIOS_FILE*, std::vector< ADIOS_SELECTION* > > m_scheduledReads;
90 std::unordered_map< int64_t, std::unordered_map< std::string, Attribute > > m_attributeWrites;
Definition: IOTask.hpp:149
Definition: IOTask.hpp:514
Layer to mirror structure of logical data and persistent data in file.
Definition: Writable.hpp:64
Definition: IOTask.hpp:373
Definition: IOTask.hpp:163
Definition: IOTask.hpp:467
Definition: IOTask.hpp:555
Definition: IOTask.hpp:108
Definition: IOTask.hpp:233
Definition: IOTask.hpp:344
Varidic datatype supporting at least all formats for attributes specified in the openPMD standard.
Definition: Attribute.hpp:50
Definition: IOTask.hpp:249
Interface for communicating between logical and physically persistent data.
Definition: AbstractIOHandler.hpp:98
Definition: IOTask.hpp:402
Definition: AbstractIOHandlerImpl.hpp:35
Public definitions of openPMD-api.
Definition: Date.cpp:29
Definition: IOTask.hpp:291
Definition: IOTask.hpp:451
Definition: IOTask.hpp:307
Definition: IOTask.hpp:328
Definition: IOTask.hpp:266
Definition: IOTask.hpp:179
Definition: IOTask.hpp:217
Definition: IOTask.hpp:126
Definition: IOTask.hpp:486
Definition: ADIOS1IOHandlerImpl.hpp:44