emlabcpp
modern opinionated embedded C++ library
types.h File Reference
#include "./concepts.h"
#include "./types/base.h"
#include <string>
+ Include dependency graph for types.h:

Go to the source code of this file.

Classes

struct  emlabcpp::mapped< Container, UnaryCallable >
 
struct  emlabcpp::tag< V >
 
struct  emlabcpp::type_map< std::tuple< Ts... >, Fun >
 
struct  emlabcpp::type_tag< T >
 
struct  emlabcpp::index_of< T, std::variant< Ts... > >
 

Namespaces

 emlabcpp
 MIT License.
 

Typedefs

template<typename Container , typename UnaryCallable >
using emlabcpp::mapped_t = typename mapped< Container, UnaryCallable >::type
 
template<std::size_t N>
using emlabcpp::select_utype_t = typename select_utype< N >::type
 
template<typename T , template< typename > class Fun>
using emlabcpp::type_map_t = typename type_map< T, Fun >::type
 
template<typename T , typename Variant >
using emlabcpp::index_of_v = index_of< T, Variant >::value
 

Functions

template<gettable_container Container, container_invocable< Container > PredicateCallable = std::identity>
 emlabcpp::requires (!range_container< Container >) const expr std
 Returns index of an element in tuple 't', for which call to predicate f(x) holds true, otherwise returns index of 'past the end' item - size of the tuple. More...
 
template<typename T >
auto emlabcpp::pretty_type_name ()
 
template<std::size_t N>
 emlabcpp::requires (sizeof(uint8_t)==N) struct select_utype< N >
 
template<std::size_t N>
 emlabcpp::requires (sizeof(uint16_t)==N) struct select_utype< N >
 
template<std::size_t N>
 emlabcpp::requires (sizeof(uint32_t)==N) struct select_utype< N >
 
template<std::size_t N>
 emlabcpp::requires (sizeof(uint64_t)==N) struct select_utype< N >
 

Variables

template<typename T >
constexpr bool emlabcpp::has_static_size_v = static_sized< T >
 
 emlabcpp::UnaryCallable
 

Class Documentation

◆ emlabcpp::type_map< std::tuple< Ts... >, Fun >

struct emlabcpp::type_map< std::tuple< Ts... >, Fun >

template<typename... Ts, template< typename > class Fun>
struct emlabcpp::type_map< std::tuple< Ts... >, Fun >

Class Members
type

◆ emlabcpp::type_tag

struct emlabcpp::type_tag

template<typename T>
struct emlabcpp::type_tag< T >


Class Members
typedef T type