41#ifndef Foam_UPstreamFile_H
42#define Foam_UPstreamFile_H
65 std::unique_ptr<Impl> file_;
78 std::streamsize count,
86 std::streamsize offset,
90 std::streamsize count,
100 std::streamsize count,
109 std::streamsize offset,
113 std::streamsize count,
179 bool set_size(std::streamsize num_bytes);
186 inline
bool write(std::string_view sv);
196 std::streamsize count
201 inline
bool write_at(std::streamsize offset, std::string_view sv);
209 std::streamsize offset,
213 std::streamsize count
217 inline
bool write_all(std::string_view sv);
226 std::streamsize count
234 std::streamsize offset,
245 std::streamsize offset,
249 std::streamsize count
261#include "UPstreamFile.txx"
A simple container for options an IOstream can normally have.
An opaque wrapper for MPI_File methods without any <mpi.h> header dependency.
bool write_at(std::streamsize offset, std::string_view sv)
MPI_File_write_at [non-collective] : write data at specified offset.
bool is_open() const
True if allocated and open has been called.
bool open_write(const int communicator, const fileName &pathname, IOstreamOption::atomicType=IOstreamOption::NON_ATOMIC)
MPI_File_open [collective] : open file in write-only mode, no-append.
bool write_data_at_all(std::streamsize offset, const void *buffer, std::streamsize count, const UPstream::dataTypes dataTypeId)
MPI_File_write_at_all [collective] : write data at specified offset.
bool close()
MPI_File_close [collective].
File(const File &&)=delete
No copy construct.
bool write_all(std::string_view sv)
MPI_File_write_all [collective] : write data.
const fileName & name() const
The name of the open stream.
static bool supported()
True if MPI/IO appears to be supported.
bool set_size(std::streamsize num_bytes)
Set the (output) file size [collective].
File(File &&) noexcept
Move construct.
bool write_data_at(std::streamsize offset, const void *buffer, std::streamsize count, const UPstream::dataTypes dataTypeId)
MPI_File_write_at [non-collective] : write data at specified offset.
File & operator=(const File &)=delete
No copy assignment.
bool write_at_all(std::streamsize offset, std::string_view sv)
MPI_File_write_at_all [collective] : write data at specified offset.
bool write(std::string_view sv)
MPI_File_write [non-collective] : write data.
bool write_data_all(const void *buffer, std::streamsize count, const UPstream::dataTypes dataTypeId)
MPI_File_write_all [collective] : write data.
bool write_data(const void *buffer, std::streamsize count, const UPstream::dataTypes dataTypeId)
MPI_File_write [non-collective] : write data.
Wrapper for internally indexed communicator label. Always invokes UPstream::allocateCommunicatorCompo...
dataTypes
Mapping of some fundamental and aggregate types to MPI data types.
A class for handling file names.