helics  3.5.2
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
helicsTypes.hpp File Reference
#include "../core/core-data.hpp"
#include "helics_cxx_export.h"
#include <complex>
#include <limits>
#include <string>
#include <string_view>
#include <typeinfo>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

class  helics::IdentifierId< BaseType, ID, invalidValue >
 
struct  std::hash< helics::IdentifierId< BaseType, ID, invalidValue > >
 
class  helics::NamedPoint
 

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
 

Typedefs

using helics::IdentifierType = std::uint32_t
 specify the underlying type used in the identifiers
 
using helics::PublicationId = IdentifierId< IdentifierType, Identifiers::PUBLICATION, invalid_id_value >
 
using helics::InputId = IdentifierId< IdentifierType, Identifiers::INPUT, invalid_id_value >
 
using helics::QueryId = IdentifierId< IdentifierType, Identifiers::QUERY, invalid_id_value >
 
template<typename T >
using helics::remove_cv_ref = std::remove_cv_t< std::remove_reference_t< T > >
 Helper template to remove const volatile references.
 
template<typename X >
using helics::typeCategory = std::conditional_t< helicsType< remove_cv_ref< X > >() !=DataType::HELICS_CUSTOM, std::integral_constant< int, primaryType >, std::conditional_t< isConvertableType< remove_cv_ref< X > >(), std::integral_constant< int, convertibleType >, std::integral_constant< int, nonConvertibleType > >>
 

Enumerations

enum class  helics::Identifiers : char {
  PUBLICATION = 'p' , INPUT = 'i' , FILTER = 'f' , ENDPOINT = 'e' ,
  QUERY = 'q' , TRANSLATORS = 't'
}
 
enum class  helics::InterfaceVisibility { LOCAL , GLOBAL }
 
enum class  helics::DataType : int {
  HELICS_UNKNOWN = HELICS_DATA_TYPE_UNKNOWN , HELICS_STRING = HELICS_DATA_TYPE_STRING , HELICS_DOUBLE = HELICS_DATA_TYPE_DOUBLE , HELICS_INT = HELICS_DATA_TYPE_INT ,
  HELICS_COMPLEX = HELICS_DATA_TYPE_COMPLEX , HELICS_VECTOR = HELICS_DATA_TYPE_VECTOR , HELICS_COMPLEX_VECTOR = HELICS_DATA_TYPE_COMPLEX_VECTOR , HELICS_NAMED_POINT = HELICS_DATA_TYPE_NAMED_POINT ,
  HELICS_BOOL = HELICS_DATA_TYPE_BOOLEAN , HELICS_TIME = HELICS_DATA_TYPE_TIME , HELICS_CHAR = HELICS_DATA_TYPE_CHAR , HELICS_CUSTOM = HELICS_DATA_TYPE_RAW ,
  HELICS_ANY = HELICS_DATA_TYPE_ANY , HELICS_JSON = HELICS_DATA_TYPE_JSON , HELICS_MULTI = HELICS_DATA_TYPE_MULTI
}
 

Functions

template<class X >
constexpr const char * helics::typeNameString ()
 
template<>
constexpr const char * helics::typeNameString< std::vector< std::string > > ()
 
template<>
constexpr const char * helics::typeNameString< std::vector< double > > ()
 
template<>
constexpr const char * helics::typeNameString< std::vector< std::complex< double > > > ()
 
template<>
constexpr const char * helics::typeNameString< double > ()
 
template<>
constexpr const char * helics::typeNameString< float > ()
 
template<>
constexpr const char * helics::typeNameString< bool > ()
 
template<>
constexpr const char * helics::typeNameString< char > ()
 
template<>
constexpr const char * helics::typeNameString< unsigned char > ()
 
template<>
constexpr const char * helics::typeNameString< std::int32_t > ()
 
template<>
constexpr const char * helics::typeNameString< std::uint32_t > ()
 
template<>
constexpr const char * helics::typeNameString< int64_t > ()
 
template<>
constexpr const char * helics::typeNameString< std::uint64_t > ()
 
template<>
constexpr const char * helics::typeNameString< std::complex< float > > ()
 
template<>
constexpr const char * helics::typeNameString< std::complex< double > > ()
 
template<>
constexpr const char * helics::typeNameString< std::string > ()
 
template<>
constexpr const char * helics::typeNameString< NamedPoint > ()
 
constexpr bool helics::isBytesType (DataType type)
 
const std::string & helics::typeNameStringRef (DataType type)
 
DataType helics::getTypeFromString (std::string_view typeName)
 
std::string_view helics::getCleanedTypeName (std::string_view typeName)
 
std::string helics::helicsComplexString (double real, double imag)
 
std::string helics::helicsComplexString (std::complex< double > val)
 
std::string helics::helicsVectorString (const std::vector< double > &val)
 
std::string helics::helicsIntString (std::int64_t val)
 
std::string helics::helicsDoubleString (double val)
 
std::string helics::helicsVectorString (const double *vals, size_t size)
 
std::string helics::helicsComplexVectorString (const std::vector< std::complex< double >> &val)
 
std::string helics::helicsNamedPointString (const NamedPoint &point)
 
std::string helics::helicsNamedPointString (std::string_view pointName, double val)
 
std::complex< double > helics::helicsGetComplex (std::string_view val)
 
std::vector< double > helics::helicsGetVector (std::string_view val)
 
void helics::helicsGetVector (std::string_view val, std::vector< double > &data)
 
std::vector< std::complex< double > > helics::helicsGetComplexVector (std::string_view val)
 
void helics::helicsGetComplexVector (std::string_view val, std::vector< std::complex< double >> &data)
 
NamedPoint helics::helicsGetNamedPoint (std::string_view val)
 
std::int64_t helics::getIntFromString (std::string_view val)
 
double helics::getDoubleFromString (std::string_view val)
 
std::complex< double > helics::getComplexFromString (std::string_view val)
 
bool helics::helicsBoolValue (std::string_view val)
 
double helics::vectorNorm (const std::vector< double > &vec)
 
double helics::vectorNorm (const std::vector< std::complex< double >> &vec)
 
SmallBuffer helics::typeConvert (DataType type, double val)
 
SmallBuffer helics::typeConvert (DataType type, int64_t val)
 
SmallBuffer helics::typeConvert (DataType type, std::string_view val)
 
SmallBuffer helics::typeConvert (DataType type, const std::vector< double > &val)
 
SmallBuffer helics::typeConvert (DataType type, const double *vals, size_t size)
 
SmallBuffer helics::typeConvertComplex (DataType type, const double *vals, size_t size)
 
SmallBuffer helics::typeConvert (DataType type, const std::vector< std::complex< double >> &val)
 
SmallBuffer helics::typeConvert (DataType type, const std::complex< double > &val)
 
SmallBuffer helics::typeConvert (DataType type, const NamedPoint &val)
 
SmallBuffer helics::typeConvert (DataType type, std::string_view str, double val)
 
SmallBuffer helics::typeConvert (DataType type, bool val)
 
SmallBuffer helics::typeConvert (DataType type, char val)
 
SmallBuffer helics::typeConvert (DataType type, Time val)
 
template<class X >
constexpr DataType helics::helicsType ()
 
template<>
constexpr DataType helics::helicsType< int64_t > ()
 
template<>
constexpr DataType helics::helicsType< bool > ()
 
template<>
constexpr DataType helics::helicsType< std::string > ()
 
template<>
constexpr DataType helics::helicsType< NamedPoint > ()
 
template<>
constexpr DataType helics::helicsType< double > ()
 
template<>
constexpr DataType helics::helicsType< Time > ()
 
template<>
constexpr DataType helics::helicsType< std::complex< double > > ()
 
template<>
constexpr DataType helics::helicsType< std::vector< double > > ()
 
template<>
constexpr DataType helics::helicsType< std::vector< std::complex< double > > > ()
 
template<class X >
constexpr bool helics::isConvertableType ()
 
template<>
constexpr bool helics::isConvertableType< float > ()
 
template<>
constexpr bool helics::isConvertableType< long double > ()
 
template<>
constexpr bool helics::isConvertableType< int32_t > ()
 
template<>
constexpr bool helics::isConvertableType< int16_t > ()
 
template<>
constexpr bool helics::isConvertableType< uint16_t > ()
 
template<>
constexpr bool helics::isConvertableType< char > ()
 
template<>
constexpr bool helics::isConvertableType< unsigned char > ()
 
template<>
constexpr bool helics::isConvertableType< uint64_t > ()
 
template<class X >
helics::invalidValue ()
 
template<>
constexpr double helics::invalidValue< double > ()
 
template<>
constexpr int64_t helics::invalidValue< int64_t > ()
 
template<>
constexpr uint64_t helics::invalidValue< uint64_t > ()
 
template<>
constexpr Time helics::invalidValue< Time > ()
 
template<>
NamedPoint helics::invalidValue< NamedPoint > ()
 
template<>
constexpr std::complex< double > helics::invalidValue< std::complex< double > > ()
 

Variables

constexpr IdentifierType helics::invalid_id_value
 defining an invalid id value More...
 
constexpr auto helics::typestrings::svecstr = "string_vector"
 
constexpr auto helics::typestrings::dvecstr = "double_vector"
 
constexpr auto helics::typestrings::cvecstr = "complex_vector"
 
constexpr auto helics::typestrings::doublestr = "double"
 
constexpr auto helics::typestrings::floatstr = "float"
 
constexpr auto helics::typestrings::boolstr = "bool"
 
constexpr auto helics::typestrings::charstr = "char"
 
constexpr auto helics::typestrings::ucharstr = "uchar"
 
constexpr auto helics::typestrings::i32str = "int32"
 
constexpr auto helics::typestrings::ui32str = "uint32"
 
constexpr auto helics::typestrings::i64str = "int64"
 
constexpr auto helics::typestrings::ui64str = "uint64"
 
constexpr auto helics::typestrings::cfloatstr = "complex_f"
 
constexpr auto helics::typestrings::cdoublestr = "complex"
 
constexpr auto helics::typestrings::npstr = "named_point"
 
constexpr auto helics::typestrings::strstr = "string"
 
constexpr double helics::invalidDouble = -1e49
 defined constant for an invalid value as a double
 
constexpr int helics::primaryType = 0
 
constexpr int helics::convertibleType = 1
 
constexpr int helics::nonConvertibleType = 2
 

Detailed Description

basic type information and control for HELICS