ToString

String conversion

Conversion from various types to std::string

namespace sls

functions basic implemenation of shared memory

creates/destroys a thread

creates & manages a listener thread each

abstract for setting/getting properties of detector data

constructs the fifo structure

creates & manages a data streamer thread each

creates & manages a data processor thread each

creates/destroys an ARPing child process to arping the interfaces slsReceiver is listening to.

Functions

template<typename T, typename Rep = double>
std::enable_if<is_duration<T>::value, std::string>::type ToString(T t, const std::string &unit)

Convert std::chrono::duration with specified output unit

template<typename From>
std::enable_if<is_duration<From>::value, std::string>::type ToString(From t)

Convert std::chrono::duration automatically selecting the unit

template<typename T>
std::enable_if<std::is_floating_point<T>::value, std::string>::type ToString(const T &value)

Conversion of floating point values, removes trailing zeros

template<typename T>
std::enable_if<std::is_integral<T>::value, std::string>::type ToString(const T &value)

Conversion of integer types, do not remove trailing zeros

template<typename T>
std::enable_if<std::is_integral<T>::value, std::string>::type ToStringHex(const T &value)

Conversion of integer types, do not remove trailing zeros

template<typename T>
std::enable_if<std::is_integral<T>::value, std::string>::type ToStringHex(const T &value, int width)

Conversion of integer types, do not remove trailing zeros

template<typename T>
std::enable_if<is_container<T>::value && !std::is_same<typenameT::value_type, std::string>::value, std::string>::type ToStringHex(const T &container)

hex For a container loop over all elements and call ToString on the element Container<std::string> is excluded

template<typename T>
std::enable_if<is_container<T>::value && !std::is_same<typenameT::value_type, std::string>::value, std::string>::type ToStringHex(const T &container, int width)
template<typename KeyType, typename ValueType>
std::string ToString(const std::map<KeyType, ValueType> &m)
template<typename T, size_t size>
std::string ToString(const T (&arr)[size])

Print a c style array

template<typename T>
std::enable_if<is_container<T>::value && !std::is_same<typenameT::value_type, std::string>::value, std::string>::type ToString(const T &container)

For a container loop over all elements and call ToString on the element Container<std::string> is excluded

template<typename T>
std::enable_if<is_container<T>::value && std::is_same<typenameT::value_type, std::string>::value, std::string>::type ToString(const T &vec)

Special case when container holds a string, don’t call ToString again but print directly to stream

template<typename T>
std::enable_if<is_container<T>::value, std::string>::type ToString(const T &container, const std::string &unit)

Container and specified unit, call ToString(value, unit)

template<typename T>
T StringTo(const std::string &t, const std::string &unit)
template<typename T>
T StringTo(const std::string &t)
template<>
defs::detectorType StringTo(const std::string &s)
template<>
defs::detectorSettings StringTo(const std::string &s)
template<>
defs::speedLevel StringTo(const std::string &s)
template<>
defs::timingMode StringTo(const std::string &s)
template<>
defs::frameDiscardPolicy StringTo(const std::string &s)
template<>
defs::fileFormat StringTo(const std::string &s)
template<>
defs::externalSignalFlag StringTo(const std::string &s)
template<>
defs::readoutMode StringTo(const std::string &s)
template<>
defs::dacIndex StringTo(const std::string &s)
template<>
defs::burstMode StringTo(const std::string &s)
template<>
defs::timingSourceType StringTo(const std::string &s)
template<>
defs::M3_GainCaps StringTo(const std::string &s)
template<>
defs::portPosition StringTo(const std::string &s)
template<>
defs::streamingInterface StringTo(const std::string &s)
template<>
defs::vetoAlgorithm StringTo(const std::string &s)
template<>
defs::gainMode StringTo(const std::string &s)
template<>
defs::polarity StringTo(const std::string &s)
template<>
defs::timingInfoDecoder StringTo(const std::string &s)
template<>
defs::collectionMode StringTo(const std::string &s)
template<>
uint8_t StringTo(const std::string &s)
template<>
uint16_t StringTo(const std::string &s)
template<>
uint32_t StringTo(const std::string &s)
template<>
uint64_t StringTo(const std::string &s)
template<>
int StringTo(const std::string &s)
template<>
bool StringTo(const std::string &s)
template<>
int64_t StringTo(const std::string &s)
template<typename T>
std::enable_if<has_str<T>::value, std::string>::type ToString(const T &obj)

For types with a .str() method use this for conversion

template<typename T>
std::vector<T> StringTo(const std::vector<std::string> &strings)