CANdevStudio
Development tool for CAN bus simulation
Loading...
Searching...
No Matches
irqus Namespace Reference

Classes

struct  typestring
 

Typedefs

template<typename... T>
using tycat = decltype(tycat_(T()...))
 

Functions

template<int N, int M>
constexpr char tygrab (char const(&c)[M]) noexcept
 
template<char... X>
auto typoke (typestring< X... >) -> typestring< X... >
 
template<char... X, char... Y>
auto typoke (typestring< X... >, typestring<'\0'>, typestring< Y >...) -> typestring< X... >
 
template<char A, char... X, char... Y>
auto typoke (typestring< X... >, typestring< A >, typestring< Y >...) -> decltype(typoke(typestring< X..., A >(), typestring< Y >()...))
 
template<char... C>
auto typeek (typestring< C... >) -> decltype(typoke(typestring< C >()...))
 
template<char... A, char... B, typename... X>
auto tycat_ (typestring< A... >, typestring< B... >, X... x) -> decltype(tycat_(typestring< A..., B... >(), x...))
 
template<char... X>
auto tycat_ (typestring< X... >) -> typestring< X... >
 

Typedef Documentation

◆ tycat

template<typename... T>
using irqus::tycat = typedef decltype(tycat_(T()...))

Function Documentation

◆ tycat_() [1/2]

template<char... A, char... B, typename... X>
auto irqus::tycat_ ( typestring< A... >  ,
typestring< B... >  ,
X...  x 
) -> decltype(tycat_(typestring< A..., B... >(), x...))

◆ tycat_() [2/2]

template<char... X>
auto irqus::tycat_ ( typestring< X... >  ) -> typestring< X... >

◆ tygrab()

template<int N, int M>
constexpr char irqus::tygrab ( char const(&)  c[M])
constexprnoexcept

◆ typeek()

template<char... C>
auto irqus::typeek ( typestring< C... >  ) -> decltype(typoke(typestring< C >()...))

◆ typoke() [1/3]

template<char... X>
auto irqus::typoke ( typestring< X... >  ) -> typestring< X... >

◆ typoke() [2/3]

template<char A, char... X, char... Y>
auto irqus::typoke ( typestring< X... >  ,
typestring< A ,
typestring< Y >  ... 
) -> decltype(typoke(typestring< X..., A >(), typestring< Y >()...))

◆ typoke() [3/3]

template<char... X, char... Y>
auto irqus::typoke ( typestring< X... >  ,
typestring<'\0'>  ,
typestring< Y >  ... 
) -> typestring< X... >