emlabcpp
modern opinionated embedded C++ library
base.h File Reference
#include <array>
#include <cstdint>
#include <ranges>
#include <tuple>
#include <type_traits>
#include <vector>
+ Include dependency graph for base.h:

Go to the source code of this file.

Classes

struct  emlabcpp::iterator_of< Container >
 
struct  emlabcpp::data_iterator_of< Container >
 
struct  emlabcpp::impl::is_view< typename >
 
struct  emlabcpp::impl::is_view< T >
 
struct  emlabcpp::is_view< T >
 
struct  emlabcpp::are_same< T, Ts... >
 
struct  emlabcpp::are_same<>
 
struct  emlabcpp::tuple_has_type< T, std::tuple< Us... > >
 
struct  emlabcpp::impl::is_std_tuple< typename >
 
struct  emlabcpp::impl::is_std_tuple< std::tuple< T... > >
 
struct  emlabcpp::is_std_tuple< T >
 
struct  emlabcpp::impl::is_std_array< typename >
 
struct  emlabcpp::impl::is_std_array< std::array< T, N > >
 
struct  emlabcpp::is_std_array< T >
 
struct  emlabcpp::impl::is_std_vector< typename >
 
struct  emlabcpp::impl::is_std_vector< std::vector< T > >
 
struct  emlabcpp::is_std_vector< T >
 
struct  emlabcpp::impl::static_size< std::array< T, N > >
 
struct  emlabcpp::impl::static_size< std::tuple< Ts... > >
 
struct  emlabcpp::static_size< T >
 
struct  emlabcpp::signature_of< ReturnType(Class::*)(Args...) >
 
struct  emlabcpp::signature_of< ReturnType(Class::*)(Args...) const >
 
struct  emlabcpp::signature_of< ReturnType(Args...) >
 

Namespaces

 emlabcpp
 MIT License.
 
 emlabcpp::impl
 MIT License.
 

Typedefs

template<typename Container >
using emlabcpp::iterator_of_t = typename iterator_of< Container >::type
 
template<typename Container >
using emlabcpp::data_iterator_of_t = typename data_iterator_of< Container >::type
 

Variables

template<typename T >
constexpr bool emlabcpp::is_view_v = is_view< T >::value
 
template<typename... Ts>
constexpr bool emlabcpp::are_same_v = are_same< Ts... >::value
 
template<typename T , typename... Us>
constexpr bool emlabcpp::tuple_has_type_v = tuple_has_type< T, Us... >::value
 
template<typename T >
constexpr bool emlabcpp::is_std_tuple_v = is_std_tuple< T >::value
 
template<typename T >
constexpr bool emlabcpp::is_std_array_v = is_std_array< T >::value
 
template<typename T >
constexpr bool emlabcpp::is_std_vector_v = is_std_vector< T >::value
 
template<typename T >
constexpr std::size_t emlabcpp::static_size_v = static_size< T >::value
 Marked deprecated on 19.4.2021. More...
 

Class Documentation

◆ emlabcpp::iterator_of

struct emlabcpp::iterator_of

template<typename Container>
struct emlabcpp::iterator_of< Container >


iterator_of is structure where iterator_of<Container>::type returns type of iterator that is returned by cont.begin();

Class Members
typedef decltype(begin(declval< add_lvalue_reference_t< Container > >())) type

◆ emlabcpp::data_iterator_of

struct emlabcpp::data_iterator_of

template<typename Container>
struct emlabcpp::data_iterator_of< Container >


data_iterator_of is structure where data_iterator_of<Container>::type returns type of pointer that is returned by cont.data();

Class Members
typedef decltype(data(declval< add_lvalue_reference_t< Container > >())) type

◆ emlabcpp::signature_of< ReturnType(Args...) >

struct emlabcpp::signature_of< ReturnType(Args...) >

template<typename ReturnType, typename... Args>
struct emlabcpp::signature_of< ReturnType(Args...) >

Class Members
args_type
typedef ReturnType return_type
signature