Feel++ 0.111.0-preview.14
Finite Element Embedded Library in C++
traits.hpp File Reference
+ This graph shows which files directly or indirectly include this file:

Classes

struct  Feel::is_iterable< T, typename >
 
struct  Feel::is_iterable< T, std::void_t< decltype(std::declval< T >().begin()), decltype(std::declval< T >().end())> >
 
struct  Feel::is_iterable_of< T, V, typename >
 
struct  Feel::is_iterable_of< T, V, std::void_t< decltype(std::declval< T >().begin()), decltype(std::declval< T >().end()), std::is_same< decltype(*std::declval< T >().begin()), V > > >
 
struct  Feel::is_ptr_or_shared_ptr< T >
 
struct  Feel::is_shared_ptr< T >
 
struct  Feel::is_shared_ptr< std::shared_ptr< T > >
 
struct  Feel::is_std_vector< T >
 
struct  Feel::is_std_vector< std::vector< T > >
 
struct  Feel::is_tuple< typename >
 std::tuple More...
 
struct  Feel::is_tuple< std::tuple< T... > >
 
struct  Feel::remove_shared_ptr< T >
 
struct  Feel::remove_shared_ptr< std::shared_ptr< T > >
 
struct  Feel::remove_std_vector< T >
 
struct  Feel::remove_std_vector< std::vector< T > >
 
struct  Feel::type_identity< T >
 
struct  Feel::value_type_trait< Type, Enable >
 

Namespaces

namespace  Feel
 -*- mode: c++; coding: utf-8; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; show-trailing-whitespace: t -*-
 

Typedefs

template<typename T >
using Feel::decay_type = std::decay_t< remove_shared_ptr_type< std::decay_t< T > > >
 
template<typename ObjectType >
using Feel::element_ptr_t = typename element_type_helper< ObjectType >::ptrtype
 
template<typename ObjectType >
using Feel::element_t = typename element_type_helper< ObjectType >::type
 
template<class T >
using Feel::is_std_vector_t = is_std_vector< T >
 
template<typename T >
using Feel::remove_shared_ptr_t = typename remove_shared_ptr< T >::type
 
template<typename T >
using Feel::remove_shared_ptr_type = typename remove_shared_ptr< T >::type
 
template<typename T >
using Feel::remove_std_vector_t = typename remove_std_vector< T >::type
 
template<typename... T>
using Feel::strongest_numeric_type = std::common_type_t< T... >
 
template<typename T >
using Feel::type_identity_t = typename type_identity< T >::type
 
template<typename Type >
using Feel::value_t = typename value_type_trait< Type >::type
 

Functions

template<typename T >
decltype(auto) Feel::remove_shared_ptr_f (T &&e)
 

Variables

template<typename T >
constexpr bool Feel::is_eigen_matrix_v = std::is_base_of_v<Eigen::MatrixBase<std::decay_t<T>>,std::decay_t<T> >
 
template<typename T , typename V >
constexpr bool Feel::is_iterable_of_v = is_iterable_of<T, V>::value
 
template<typename T >
constexpr bool Feel::is_iterable_v = is_iterable<T>::value
 
template<class T >
constexpr bool Feel::is_shared_ptr_v = is_shared_ptr<T>::value
 
template<class T >
constexpr bool Feel::is_std_vector_v = is_std_vector_t<T>::value
 
template<typename T >
constexpr bool Feel::is_tuple_v = is_tuple<T>::value
 

Detailed Description