MADARA  3.4.1
madara::knowledge::impl Namespace Reference

Internal implementation details. More...

Classes

struct  is_basic_string
 
struct  is_basic_string< std::basic_string< CharT, Traits, Allocator > >
 
struct  simple_span
 

Functions

template<typename T >
auto get_size (const T &c) -> decltype(c.size())
 
template<typename T , size_t N>
size_t get_size (const T(&arr)[N])
 
template<typename T >
simple_span< T > make_span (T *ptr, size_t size)
 
template<typename T >
auto share_array (const KnowledgeRecord &in) -> typename std::enable_if< std::is_integral< typename std::decay< decltype(*std::begin(std::declval< T & >()))>::type >::value, decltype(in.share_integers())>::type
 
template<typename T >
auto to_array (const KnowledgeRecord &in) -> typename std::enable_if< std::is_integral< typename std::decay< decltype(*std::begin(std::declval< T & >()))>::type >::value, decltype(in.to_integers())>::type
 

Detailed Description

Internal implementation details.

Users of MADARA should not directly use the contents of this namespace.

Function Documentation

◆ get_size() [1/2]

template<typename T >
auto madara::knowledge::impl::get_size ( const T &  c) -> decltype(c.size())
inline

Definition at line 154 of file KnowledgeCast.h.

◆ get_size() [2/2]

template<typename T , size_t N>
size_t madara::knowledge::impl::get_size ( const T(&)  arr[N])
inline

Definition at line 160 of file KnowledgeCast.h.

◆ make_span()

template<typename T >
simple_span<T> madara::knowledge::impl::make_span ( T *  ptr,
size_t  size 
)

Definition at line 237 of file KnowledgeCast.h.

◆ share_array()

template<typename T >
auto madara::knowledge::impl::share_array ( const KnowledgeRecord in) -> typename std::enable_if<std::is_integral<typename std::decay<decltype( *std::begin(std::declval<T&>()))>::type>::value, decltype(in.share_integers())>::type
inline

Definition at line 167 of file KnowledgeCast.h.

◆ to_array()

template<typename T >
auto madara::knowledge::impl::to_array ( const KnowledgeRecord in) -> typename std::enable_if<std::is_integral<typename std::decay<decltype( *std::begin(std::declval<T&>()))>::type>::value, decltype(in.to_integers())>::type
inline

Definition at line 176 of file KnowledgeCast.h.