Version: SMASH-3.3
outputformatter.h File Reference
#include <functional>
#include <map>
#include <optional>
#include <sstream>
#include <stdexcept>
#include <string>
#include <utility>
#include <vector>
#include "smash/particledata.h"
#include "smash/particles.h"

Go to the source code of this file.

Classes

struct  smash::ToASCII
 Structure to convert a given value into ASCII format, such that all methods return a std::string. More...
 
class  smash::ToBinary
 Structure to convert a given value into binary format, such that all methods return a std::vector<char>. More...
 
class  smash::OutputFormatter< Converter, >
 A general-purpose formatter for output, supporting both ASCII and binary formats. More...
 
struct  smash::OutputFormatter< Converter, >::UnknownQuantity
 Thrown when a not existing quantity is used. More...
 
struct  smash::OutputFormatter< Converter, >::RepeatedQuantity
 Thrown when the same quantity is repeated. More...
 
struct  smash::OutputFormatter< Converter, >::AliasesQuantity
 Thrown when the synonym quantities are used. More...
 

Namespaces

 smash
 
 smash::details
 

Functions

template<typename Converter , class Range , std::enable_if_t< std::is_same_v< Range, Particles >||std::is_same_v< Range, ParticleList >, bool > = true>
void smash::details::write_in_chunk_impl (const Range &particles, const OutputFormatter< Converter > &formatter, std::function< void(const typename Converter::type &)> write, std::size_t max_buffer_bytes=1 '000 '000 '000)
 Writes particle data in multiple chunks if the total buffer size exceeds a predefined maximum. More...
 
template<typename Converter , class Range , std::enable_if_t< std::is_same_v< Range, Particles >||std::is_same_v< Range, ParticleList >, bool > = true>
void smash::write_in_chunk (const Range &particles, const OutputFormatter< Converter > &formatter, std::function< void(const typename Converter::type &)> write)
 User-facing wrapper for chunked particle writing. More...