| helics 3.6.1

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