TypeTraits

Template meta functions in the same spirit as type_traits from the standard library.

template<typename T>
struct is_duration<T, typename std::conditional<false, is_duration_helper<typename T::rep, typename T::period, decltype(std::declval<T>().min()), decltype(std::declval<T>().max()), decltype(std::declval<T>().zero())>, void>::type> : public std::true_type
#include <TypeTraits.h>
template<typename T>
struct has_str<T, typename std::conditional<false, has_str_helper<decltype(std::declval<T>().str())>, void>::type> : public std::true_type
#include <TypeTraits.h>
template<typename T>
struct has_emplace_back<T, typename std::conditional<false, has_emplace_back_helper<decltype(std::declval<T>().emplace_back())>, void>::type> : public std::true_type
#include <TypeTraits.h>
template<typename T>
struct is_container<T, typename std::conditional<false, is_container_helper<typename std::remove_reference<T>::type::value_type, typename std::remove_reference<T>::type::size_type, typename std::remove_reference<T>::type::iterator, typename std::remove_reference<T>::type::const_iterator, decltype(std::declval<T>().size()), decltype(std::declval<T>().begin()), decltype(std::declval<T>().end()), decltype(std::declval<T>().cbegin()), decltype(std::declval<T>().cend()), decltype(std::declval<T>().empty())>, void>::type> : public std::true_type
#include <TypeTraits.h>
template<typename T>
struct is_light_container<T, typename std::conditional<false, is_container_helper<typename T::value_type, typename T::size_type, typename T::iterator, typename T::const_iterator, decltype(std::declval<T>().size()), decltype(std::declval<T>().begin()), decltype(std::declval<T>().end())>, void>::type> : public std::true_type
#include <TypeTraits.h>
template<typename T>
struct is_vector<std::vector<T>> : public std::true_type
#include <TypeTraits.h>
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.

Typedefs

template<typename T, typename ...Ts>
using AllSame = typename std::enable_if<Conjunction<std::is_same<T, Ts>...>::value>::type
template<class...>
struct Conjunction : public std::true_type
#include <TypeTraits.h>
template<class B1>
struct Conjunction<B1> : public B1
#include <TypeTraits.h>
template<class B1, class ...Bn>
struct Conjunction<B1, Bn...> : public std::conditional::type
#include <TypeTraits.h>
template<typename T, typename _ = void>
struct has_emplace_back : public std::false_type
#include <TypeTraits.h>

Has emplace_back method

template<typename T> type > : public std::true_type
#include <TypeTraits.h>
template<typename ...Ts>
struct has_emplace_back_helper
#include <TypeTraits.h>
template<typename T, typename _ = void>
struct has_str : public std::false_type
#include <TypeTraits.h>

Has str method

template<typename T> type > : public std::true_type
#include <TypeTraits.h>
template<typename ...Ts>
struct has_str_helper
#include <TypeTraits.h>
template<typename T, typename _ = void>
struct is_container : public std::false_type
#include <TypeTraits.h>

Type trait to evaluate if template parameter is complying with a standard container

template<typename T> type > : public std::true_type
#include <TypeTraits.h>
template<typename ...Ts>
struct is_container_helper
#include <TypeTraits.h>
template<typename T, typename _ = void>
struct is_duration : public std::false_type
#include <TypeTraits.h>

Type trait to check if a template parameter is a std::chrono::duration

template<typename T> type > : public std::true_type
#include <TypeTraits.h>
template<typename ...Ts>
struct is_duration_helper
#include <TypeTraits.h>
template<typename T, typename _ = void>
struct is_light_container : public std::false_type
#include <TypeTraits.h>

Type trait to evaluate if template parameter is complying with a standard container

template<typename T> type > : public std::true_type
#include <TypeTraits.h>
template<typename ...Ts>
struct is_light_container_helper
#include <TypeTraits.h>
template<typename T>
struct is_vector : public std::false_type
#include <TypeTraits.h>
template<typename T> vector< T > > : public std::true_type
#include <TypeTraits.h>