theCore C++ embedded framework
utils/export/ecl/utils.hpp File Reference

General the Core utilities library. More...

#include <tuple>
#include <utility>
Include dependency graph for utils/export/ecl/utils.hpp:
This graph shows which files directly or indirectly include this file:

Data Structures

struct  ecl::safe_storage< T >
 Safe storage wrapper to avoid static initialization fiasco. More...
 
struct  ecl::exploded_string< c >
 Exploded string produces unique type for every unique string. More...
 
struct  ecl::explode_chunk_impl< S, B, L, c >
 Explodes substring into exploded_string type. More...
 
struct  ecl::explode_chunk_impl< S, B, 0, c... >
 Explodes part of the string into exploded_string type. More...
 

Namespaces

 ecl
 

Typedefs

template<typename S , size_t B, size_t L>
using ecl::explode_chunk = typename explode_chunk_impl< S, B, L >::result
 Syntactical sugar for exploding substring. More...
 

Functions

template<class FuncT , class TupleT , size_t ... Is>
void ecl::for_each_impl (TupleT &tuple, FuncT func, std::index_sequence< Is... >)
 
template<class FuncT , class ... Tp>
void ecl::for_each (std::tuple< Tp... > &tuple, FuncT func)
 
template<template< typename > class Callable, class ... Tp>
void ecl::for_each ()
 For-each for types only. More...
 
template<typename T1 , typename T2 >
constexpr size_t ecl::offset_of (T1 T2::*member)
 Obtains offset of the given member within given type. More...
 
template<typename Enum >
constexpr auto ecl::extract_value (Enum val)
 Extracts value from enumerator element of given type. More...
 
template<int N>
constexpr auto ecl::strlen_constexpr (const char(&str)[N])
 Calculates string length in compile time, if possible. More...
 
constexpr auto ecl::strlen_constexpr (const char *str)
 Calculates string length in compile time, if possible. More...
 
constexpr int ecl::strchri_constexpr (const char *str, char ch)
 Returns an index to the first occurrence of the character in the string. More...
 

Detailed Description

General the Core utilities library.