Interface Documentation
Version: invalid
Classes | Namespaces | Typedefs | Variables
type_traits.hh File Reference
#include <type_traits>
Include dependency graph for type_traits.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  flecsi::util::detail::hold< Ts >
 
struct  flecsi::util::detail::base_specialization< B, D >
 
struct  flecsi::util::detail::nonvoid< T >
 
struct  flecsi::util::detail::nonvoid< void >
 
struct  flecsi::util::base_specialization< B, D >
 
struct  flecsi::util::is_container< T, _ >
 Check if a particular type T is a container. More...
 
struct  flecsi::util::is_container< T, voided< typename T::value_type, typename T::size_type, typename T::allocator_type, typename T::iterator, typename T::const_iterator, decltype(std::declval< T >().size()), decltype(std::declval< T >().begin()), decltype(std::declval< T >().end()), decltype(std::declval< T >().cbegin()), decltype(std::declval< T >().cend()), decltype(std::declval< T >().data())> >
 Check if a particular type T is a container. More...
 
struct  flecsi::util::is_minimal_container< T, _ >
 A Helper to identify if this is a container. More...
 
struct  flecsi::util::is_minimal_container< T, voided< decltype(std::declval< T >().size()), decltype(std::declval< T >().data())> >
 A Helper to identify if this is a container. More...
 
struct  flecsi::util::is_iterative_container< T, _ >
 A Helper to identify if this is a container. More...
 
struct  flecsi::util::is_iterative_container< T, voided< decltype(std::declval< T >().begin()), decltype(std::declval< T >().end())> >
 A Helper to identify if this is a container. More...
 

Namespaces

 flecsi
 

Typedefs

template<class... TT>
using flecsi::util::voided = std::conditional_t< false, detail::hold< TT... >, void >
 
template<template< class... > class B, class D >
using flecsi::util::base_specialization_t = typename base_specialization< B, D >::type
 

Variables

template<typename T >
constexpr bool flecsi::util::is_container_v = is_container<T>::value
 Equal to true if T is a container. More...
 
template<typename T >
constexpr bool flecsi::util::is_minimal_container_v = is_minimal_container<T>::value
 Equal to true if T is a container. More...
 
template<typename T >
constexpr bool flecsi::util::is_iterative_container_v = is_iterative_container<T>::value
 Equal to true if T is a container. More...
 

Variable Documentation

◆ is_container_v

template<typename T >
constexpr bool flecsi::util::is_container_v = is_container<T>::value

Equal to true if T is a container.

Remarks
This version adheres to the strict requirements of an STL container.

◆ is_iterative_container_v

template<typename T >
constexpr bool flecsi::util::is_iterative_container_v = is_iterative_container<T>::value

Equal to true if T is a container.

Remarks
This version uses to a reduced set of requirements for a container.

◆ is_minimal_container_v

template<typename T >
constexpr bool flecsi::util::is_minimal_container_v = is_minimal_container<T>::value

Equal to true if T is a container.

Remarks
This version uses to a reduced set of requirements for a container.