An opaque wrapper for MPI_File methods without any <mpi.h> header dependency.
More...
#include <UPstreamFile.H>
Classes | |
| class | Impl |
Public Member Functions | |
| File (const File &&)=delete | |
| No copy construct. | |
| File (File &&) noexcept | |
| Move construct. | |
| File & | operator= (const File &)=delete |
| No copy assignment. | |
| File & | operator= (File &&) noexcept |
| Move assignment. | |
| File () | |
| Default construct. | |
| ~File () | |
| Destructor. Non-default in header (incomplete types). | |
| const fileName & | name () const |
| The name of the open stream. | |
| 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 | close () |
| MPI_File_close [collective]. | |
| bool | set_size (std::streamsize num_bytes) |
| Set the (output) file size [collective]. | |
| bool | write (std::string_view sv) |
| MPI_File_write [non-collective] : write data. | |
| template<class Type> | |
| bool | write (const Type *buffer, std::streamsize count) |
| MPI_File_write [non-collective] : write data. | |
| bool | write_at (std::streamsize offset, std::string_view sv) |
| MPI_File_write_at [non-collective] : write data at specified offset. | |
| template<class Type> | |
| bool | write_at (std::streamsize offset, const Type *buffer, std::streamsize count) |
| MPI_File_write_at [non-collective] : write data at specified offset. | |
| bool | write_all (std::string_view sv) |
| MPI_File_write_all [collective] : write data. | |
| template<class Type> | |
| bool | write_all (const Type *buffer, std::streamsize count) |
| MPI_File_write_all [collective] : write data. | |
| bool | write_at_all (std::streamsize offset, std::string_view sv) |
| MPI_File_write_at_all [collective] : write data at specified offset. | |
| template<class Type> | |
| bool | write_at_all (std::streamsize offset, const Type *buffer, std::streamsize count) |
| MPI_File_write_at_all [collective] : write data at specified offset. | |
Static Public Member Functions | |
| static bool | supported () |
| True if MPI/IO appears to be supported. | |
Protected Member Functions | |
| bool | write_data (const void *buffer, std::streamsize count, const UPstream::dataTypes dataTypeId) |
| MPI_File_write [non-collective] : write data. | |
| 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. | |
| bool | write_data_all (const void *buffer, std::streamsize count, const UPstream::dataTypes dataTypeId) |
| MPI_File_write_all [collective] : write data. | |
| 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. | |
An opaque wrapper for MPI_File methods without any <mpi.h> header dependency.
Definition at line 51 of file UPstreamFile.H.
|
delete |
No copy construct.
References File().
Referenced by File(), File(), operator=(), and operator=().


|
noexcept |
| File | ( | ) |
Default construct.
Definition at line 48 of file UPstreamFile.C.
| ~File | ( | ) |
Destructor. Non-default in header (incomplete types).
Definition at line 53 of file UPstreamFile.C.
|
protected |
MPI_File_write [non-collective] : write data.
| buffer | Source buffer |
| count | The data count - number of elements |
Definition at line 106 of file UPstreamFile.C.
References NotImplemented.
|
protected |
MPI_File_write_at [non-collective] : write data at specified offset.
| offset | The offset - number of 'view' elements (default: byte) |
| buffer | Source buffer |
| count | The data count - number of elements |
Definition at line 118 of file UPstreamFile.C.
References NotImplemented.
|
protected |
MPI_File_write_all [collective] : write data.
| buffer | Source buffer |
| count | The data count - number of elements |
Definition at line 131 of file UPstreamFile.C.
References NotImplemented.
|
protected |
MPI_File_write_at_all [collective] : write data at specified offset.
| offset | The offset - number of 'view' elements (default: byte) |
| buffer | Source buffer |
| count | The data count - number of elements |
Definition at line 143 of file UPstreamFile.C.
References NotImplemented.
Move assignment.
References close(), File(), is_open(), name(), Foam::noexcept, open_write(), set_size(), and supported().

|
static |
True if MPI/IO appears to be supported.
Definition at line 40 of file UPstreamFile.C.
Referenced by operator=(), collatedFileOperation::printBanner(), and collatedFileOperation::writeObject().

| const Foam::fileName & name | ( | ) | const |
The name of the open stream.
Definition at line 59 of file UPstreamFile.C.
References fileName::null.
Referenced by operator=().

| bool is_open | ( | ) | const |
True if allocated and open has been called.
Definition at line 65 of file UPstreamFile.C.
Referenced by operator=().

| bool open_write | ( | const int | communicator, |
| const fileName & | pathname, | ||
| IOstreamOption::atomicType | atomicType = IOstreamOption::NON_ATOMIC ) |
MPI_File_open [collective] : open file in write-only mode, no-append.
| communicator | The OpenFOAM communicator index |
| pathname | Full file path (parent directory must exist before calling) |
| atomicType | Simulated atomic file handling |
Definition at line 94 of file UPstreamFile.C.
References NotImplemented.
Referenced by operator=().

| bool close | ( | ) |
MPI_File_close [collective].
Definition at line 71 of file UPstreamFile.C.
Referenced by operator=().

| bool set_size | ( | std::streamsize | num_bytes | ) |
Set the (output) file size [collective].
Definition at line 156 of file UPstreamFile.C.
References NotImplemented.
Referenced by operator=().

|
inline |
|
inline |
MPI_File_write [non-collective] : write data.
A no-op and return true if buffer is nullptr or count is zero
| buffer | The content |
| count | The data count - number of elements |
References write().

|
inline |
MPI_File_write_at [non-collective] : write data at specified offset.
A no-op and return true if content is empty
References write_at().
Referenced by write_at(), and write_at().


|
inline |
MPI_File_write_at [non-collective] : write data at specified offset.
A no-op and return true if buffer is nullptr or count is zero
| offset | The offset within the file - number of 'view' elements |
| buffer | The content |
| count | The data count - number of elements |
References write_at().

|
inline |
MPI_File_write_all [collective] : write data.
References write_all().
Referenced by write_all(), and write_all().


|
inline |
MPI_File_write_all [collective] : write data.
| buffer | The content |
| count | The data count - number of elements |
References write_all().

|
inline |
MPI_File_write_at_all [collective] : write data at specified offset.
| offset | The offset within the file - number of 'view' elements |
| sv | The content |
References write_at_all().
Referenced by write_at_all(), and write_at_all().


|
inline |
MPI_File_write_at_all [collective] : write data at specified offset.
| offset | The offset within the file - number of 'view' elements |
| buffer | The content |
| count | The data count - number of elements |
References write_at_all().
