helics  3.5.2
Classes | Namespaces | Functions
ValueConverter.hpp File Reference
#include "../core/SmallBuffer.hpp"
#include "data_view.hpp"
#include "helicsTypes.hpp"
#include "helics_cxx_export.h"
#include <cstddef>
#include <string>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

class  helics::ValueConverter< X >
 
class  helics::ValueConverter< std::vector< std::string > >
 

Namespaces

 helics
 the main namespace for the helics co-simulation library User functions will be in the helics namespace with internal functions possible in a lower level namespace
 

Functions

constexpr size_t helics::detail::getBinaryLength (double)
 
constexpr size_t helics::detail::getBinaryLength (std::int64_t)
 
constexpr size_t helics::detail::getBinaryLength (std::complex< double >)
 
size_t helics::detail::getBinaryLength (std::string_view val)
 
size_t helics::detail::getBinaryLength (const std::vector< double > &val)
 
size_t helics::detail::getBinaryLength (const double *, size_t size)
 
size_t helics::detail::getBinaryLength (const NamedPoint &np)
 
size_t helics::detail::getBinaryLength (const std::vector< std::complex< double >> &cv)
 
size_t helics::detail::getBinaryLength (const std::complex< double > *, size_t size)
 
size_t helics::detail::convertToBinary (std::byte *data, double val)
 
size_t helics::detail::convertToBinary (std::byte *data, std::int64_t val)
 
size_t helics::detail::convertToBinary (std::byte *data, std::complex< double > val)
 
size_t helics::detail::convertToBinary (std::byte *data, std::string_view val)
 
size_t helics::detail::convertToBinary (std::byte *data, const NamedPoint &val)
 
size_t helics::detail::convertToBinary (std::byte *data, const std::vector< double > &val)
 
size_t helics::detail::convertToBinary (std::byte *data, const double *val, size_t size)
 
size_t helics::detail::convertToBinary (std::byte *data, const std::vector< std::complex< double >> &val)
 
size_t helics::detail::convertToBinary (std::byte *data, const std::complex< double > *val, size_t size)
 
DataType helics::detail::detectType (const std::byte *data)
 
void helics::detail::convertFromBinary (const std::byte *data, double &val)
 
void helics::detail::convertFromBinary (const std::byte *data, std::int64_t &val)
 
void helics::detail::convertFromBinary (const std::byte *data, std::complex< double > &val)
 
void helics::detail::convertFromBinary (const std::byte *data, char *val)
 
void helics::detail::convertFromBinary (const std::byte *data, std::string &val)
 
void helics::detail::convertFromBinary (const std::byte *data, std::string_view &val)
 
void helics::detail::convertFromBinary (const std::byte *data, NamedPoint &val)
 
void helics::detail::convertFromBinary (const std::byte *data, std::vector< double > &val)
 
void helics::detail::convertFromBinary (const std::byte *data, double *val)
 
void helics::detail::convertFromBinary (const std::byte *data, std::vector< std::complex< double >> &val)
 
size_t helics::detail::getDataSize (const std::byte *data)
 

Detailed Description

the purpose of these objects are to convert a specific type into a data block for use in the core algorithms

Function Documentation

◆ detectType()

HELICS_CXX_EXPORT DataType helics::detail::detectType ( const std::byte *  data)

detect the contained data type, assumes data is at least 1 byte long

◆ getDataSize()

HELICS_CXX_EXPORT size_t helics::detail::getDataSize ( const std::byte *  data)

get the size of the data from the data stream for a specific type

this returns the number of elements of the specific data type it is NOT in bytes