9#include <kernel/util/binary_stream.hpp>
11#include <kernel/util/string.hpp>
12#include <kernel/util/dist.hpp>
342 static void write_ordered(
const void* buffer,
const std::size_t size,
const String& filename,
bool truncate =
true)
410 static void read_combined(std::vector<char>& common, std::vector<char>& buffer,
411 const String& filename,
const Dist::Comm& comm,
int root_rank = 0,
bool bcast_common =
true);
415 const String& filename,
const Dist::Comm& comm,
int root_rank = 0,
bool bcast_common =
true)
444 static void write_combined(
const std::vector<char>& common,
const std::vector<char>& buffer,
462 static void _write_file(std::stringstream& stream,
const String& filename,
bool truncate);
std::vector< char > & container()
Returns a reference to the internal vector container.
char * data()
Returns the data array of the stream.
std::streamsize size() const
Returns the current size of the stream.
static Comm world()
Returns a copy of the world communicator.
Distributed File Input/Output class.
static void write_sequence(std::stringstream &stream, const String &pattern, bool truncate=true)
Writes a rank-indexed text file sequence.
static void write_sequence(std::stringstream &stream, const String &pattern, const Dist::Comm &comm, bool truncate=true)
Writes a rank-indexed text file sequence.
static void write_ordered(const void *buffer, const std::size_t size, const String &filename, bool truncate=true)
Writes a buffer into a common binary file in rank order.
static void read_sequence(BinaryStream &stream, const String &pattern)
Reads a rank-indexed text file sequence.
static void write_sequence(BinaryStream &stream, const String &pattern, bool truncate=true)
Writes a rank-indexed text file sequence.
static void write_ordered(BinaryStream &stream, const String &filename, const Dist::Comm &comm, bool truncate=true)
Writes a binary stream into a common binary file in rank order.
static constexpr std::uint64_t magic_combined
Magic number for combined distributed files as used by read_combined() and write_combined()
static void _write_file(std::stringstream &stream, const String &filename, bool truncate)
auxiliary function: write a string stream to a file
static void read_ordered(void *buffer, const std::size_t size, const String &filename)
Reads a buffer from a common binary file in rank order.
static void write_ordered(const void *buffer, const std::size_t size, const String &filename, const Dist::Comm &comm, bool truncate=true)
Writes a buffer into a common binary file in rank order.
static void read_common(std::stringstream &stream, const String &filename, const Dist::Comm &comm, int root_rank=0)
Reads a common text file for all ranks.
static void read_ordered(void *buffer, const std::size_t size, const String &filename, const Dist::Comm &comm)
Reads a buffer from a common binary file in rank order.
static void write_combined(const std::vector< char > &common, const std::vector< char > &buffer, const String &filename, const Dist::Comm &comm, int root_rank=0)
Writes a combined shared/ordered binary file.
static void read_sequence(std::stringstream &stream, const String &pattern)
Reads a rank-indexed text file sequence.
static void write_ordered(BinaryStream &stream, const String &filename, bool truncate=true)
Writes a buffer into a common binary file in rank order.
static void read_combined(std::vector< char > &common, std::vector< char > &buffer, const String &filename, const Dist::Comm &comm, int root_rank=0, bool bcast_common=true)
Reads a combined shared/ordered binary file as written by the write_combined function.
static String _rankname(const String &pattern, int rank)
auxiliary function: build a rank filename from a pattern
static void read_combined(BinaryStream &common, BinaryStream &buffer, const String &filename, const Dist::Comm &comm, int root_rank=0, bool bcast_common=true)
Reads a combined shared/ordered binary file as written by the write_combined function.
static void _read_file(std::stringstream &stream, const String &filename)
auxiliary function: read a file into a string stream
static void write_combined(const BinaryStream &common, const BinaryStream &buffer, const String &filename, const Dist::Comm &comm, int root_rank=0)
Writes a combined shared/ordered binary file.
static void read_common(std::stringstream &stream, const String &filename)
Reads a common text file for all ranks.
static void read_common(BinaryStream &stream, const String &filename)
Reads a common text file for all ranks.
static void read_sequence(std::stringstream &stream, const String &pattern, const Dist::Comm &comm)
Reads a rank-indexed text file sequence.
String class implementation.