#include <cassert>
#include <complex>
#include <functional>
#include <iterator>
#include <utility>
#include <boost/tuple/tuple.hpp>
Namespaces | |
madness | |
TiledArray | |
TiledArray::detail | |
Macros | |
#define | GENERATE_HAS_MEMBER(Member) |
#define | GENERATE_HAS_MEMBER_TYPE(Type) |
#define | GENERATE_HAS_MEMBER_FUNCTION(Member) |
#define | GENERATE_HAS_MEMBER_FUNCTION_ANYRETURN(Member) |
#define | GENERATE_IS_FREE_FUNCTION_ANYRETURN(Function) |
#define | GENERATE_IS_FREE_FUNCTION_STD_ANYRETURN(Function) |
Typedefs | |
template<typename... Ts> | |
using | std::void_t = typename make_void< Ts... >::type |
template<typename T , typename U = void> | |
using | TiledArray::detail::enable_if_numeric_t = std::enable_if_t< is_numeric_v< T >, U > |
SFINAE type for enabling code when T is a numeric type. More... | |
template<typename T > | |
using | TiledArray::detail::numeric_t = typename TiledArray::detail::numeric_type< T >::type |
numeric_t<T> is an alias for numeric_type<T>::type More... | |
template<typename T > | |
using | TiledArray::detail::scalar_t = typename TiledArray::detail::scalar_type< T >::type |
scalar_t<T> is an alias for scalar_type<T>::type More... | |
template<typename T > | |
using | TiledArray::detail::remove_cvr_t = typename remove_cvr< T >::type |
template<bool B, typename T > | |
using | TiledArray::detail::const_if_t = typename std::conditional< B, const T, T >::type |
prepends const to T if B is true More... | |
template<typename U > | |
using | TiledArray::detail::param_type = typename param< U >::type |
template<class T > | |
using | TiledArray::detail::iterator_t = decltype(std::begin(std::declval< T & >())) |
template<class T > | |
using | TiledArray::detail::value_t = remove_cvr_t< decltype(*std::begin(std::declval< T & >()))> |
template<typename Scalar1 , typename Scalar2 > | |
using | TiledArray::detail::add_t = decltype(std::declval< Scalar1 >()+std::declval< Scalar2 >()) |
template<typename Scalar1 , typename Scalar2 > | |
using | TiledArray::detail::subt_t = decltype(std::declval< Scalar1 >() - std::declval< Scalar2 >()) |
template<typename Scalar1 , typename Scalar2 > | |
using | TiledArray::detail::mult_t = decltype(std::declval< Scalar1 >() *std::declval< Scalar2 >()) |
template<typename T > | |
using | TiledArray::detail::trange_t = typename T::trange_type |
template<typename T > | |
using | TiledArray::detail::shape_t = typename T::shape_type |
template<typename T > | |
using | TiledArray::detail::pmap_t = typename T::pmap_interface |
template<typename T > | |
using | TiledArray::detail::policy_t = typename T::policy_type |
Functions | |
template<std::size_t I, typename T > | |
auto | TiledArray::detail::get (T &&t) |
template<typename GeneralizedPair , typename = std::enable_if_t<is_gpair_v<GeneralizedPair>>> | |
decltype(auto) | TiledArray::detail::at (GeneralizedPair &&v, std::size_t idx) |
at(pair, i) extracts i-th element from gpair More... | |
Variables | |
template<class T > | |
constexpr bool | std::is_integral_v = is_integral<T>::value |
template<typename T > | |
constexpr const bool | TiledArray::detail::is_type_v = is_type<T>::value |
template<typename T > | |
constexpr const bool | TiledArray::detail::is_complete_type_v = is_complete_type<T>::value |
template<class From , class To > | |
constexpr const bool | TiledArray::detail::has_conversion_operator_v |
template<class From , class To > | |
constexpr const bool | TiledArray::detail::is_explicitly_convertible_v |
template<class From , class To > | |
constexpr const bool | TiledArray::detail::is_implicitly_convertible_v |
template<class From , class To > | |
constexpr const bool | TiledArray::detail::is_convertible_v = is_convertible<From, To>::value |
template<typename T > | |
constexpr const bool | TiledArray::is_lazy_tile_v = is_lazy_tile<T>::value |
is_lazy_tile_v<T> is an alias for is_lazy_tile<T>::value More... | |
template<typename T > | |
constexpr const bool | TiledArray::is_consumable_tile_v = is_consumable_tile<T>::value |
is_consumable_tile_v<T> is an alias for is_consumable_tile<T>::value More... | |
template<typename T > | |
constexpr const bool | TiledArray::detail::is_complex_v = is_complex<T>::value |
is_complex_v<T> is an alias for is_complex<T>::value More... | |
template<typename T > | |
constexpr const bool | TiledArray::detail::is_numeric_v = is_numeric<T>::value |
is_numeric_v<T> is an alias for is_numeric<T>::value More... | |
template<typename T > | |
constexpr const bool | TiledArray::detail::is_scalar_v = is_scalar<T>::value |
is_scalar_v<T> is an alias for is_scalar_v<T> More... | |
template<typename T > | |
constexpr const bool | TiledArray::detail::is_array_tile_v = is_array_tile<T>::value |
is_array_tile_v<T> is an alias for is_array_tile<T>::value More... | |
template<typename T > | |
constexpr const bool | TiledArray::detail::is_non_array_lazy_tile_v |
template<typename T > | |
constexpr const bool | TiledArray::detail::is_strictly_ordered_v = is_strictly_ordered<T>::value |
is_strictly_ordered_v<T> is an alias for is_strictly_ordered<T>::value More... | |
template<typename... Ts> | |
constexpr const bool | TiledArray::detail::is_integral_list_v = is_integral_list<Ts...>::value |
is_integral_list_v<T> is an alias for is_integral_list<T>::value More... | |
template<typename T > | |
constexpr const bool | TiledArray::detail::is_tuple_v = is_tuple<T>::value |
is_tuple_v<T> is an alias for is_tuple<T>::value More... | |
template<std::size_t I, typename T > | |
constexpr const bool | TiledArray::detail::is_std_gettable_v = is_std_gettable<I, T>::value |
template<std::size_t I, typename T > | |
constexpr const bool | TiledArray::detail::is_boost_gettable_v = is_boost_gettable<I, T>::value |
template<std::size_t I, typename T > | |
constexpr const bool | TiledArray::detail::is_gettable_v |
template<typename T > | |
constexpr const bool | TiledArray::detail::is_gettable_pair_v = is_gettable_pair<T>::value |
is_gettable_pair_v<T> is an alias for is_gettable_pair<T>::value More... | |
template<typename T > | |
constexpr const bool | TiledArray::detail::is_integral_pair_v = is_integral_pair<T>::value |
is_integral_pair_v<T> is an alias for is_integral_pair<T>::value More... | |
template<typename... Ts> | |
constexpr const bool | TiledArray::detail::is_integral_pair_list_v |
template<typename T > | |
constexpr const bool | TiledArray::detail::is_integral_tuple_v = is_integral_tuple<T>::value |
is_integral_tuple_v<T> is an alias for is_integral_tuple<T>::value More... | |
template<typename T > | |
constexpr const bool | TiledArray::detail::is_pair_v = is_pair<T>::value |
is_pair_v<T> is an alias for is_pair<T>::value More... | |
Macro Definition Documentation
◆ GENERATE_HAS_MEMBER
#define GENERATE_HAS_MEMBER | ( | Member | ) |
this generates struct has_member_##Type<T>
whose public constexpr member variable value
is true if T::Member
is a member variable or function.
Definition at line 94 of file type_traits.h.
◆ GENERATE_HAS_MEMBER_FUNCTION
#define GENERATE_HAS_MEMBER_FUNCTION | ( | Member | ) |
this generates struct has_member_function_Member<T,R,Args...>
whose public constexpr member variable value
is true if T::Member
is a member function that takes Args
and returns R
.
- Note
- if T is a const type, only const member functions will be detected, hence
has_member_function_Member_anyreturn<const T,R,Args...>::value
&&!has_member_function_Member_anyreturn<T
,R,Args...>::value evaluates to true if there is only a const T::Member
Definition at line 169 of file type_traits.h.
◆ GENERATE_HAS_MEMBER_FUNCTION_ANYRETURN
#define GENERATE_HAS_MEMBER_FUNCTION_ANYRETURN | ( | Member | ) |
this generates struct has_member_function_Member_anyreturn<T,Args...>
whose public constexpr member variable value
is true if T::Member
is a member function that takes Args
and returns any type.
- Note
- if T is a const type, only const member functions will be detected, hence
has_member_function_Member_anyreturn<const T,Args...>::value
&&!has_member_function_Member_anyreturn<T
,Args...>::value evaluates to true if there is only a const T::Member
Definition at line 211 of file type_traits.h.
◆ GENERATE_HAS_MEMBER_TYPE
#define GENERATE_HAS_MEMBER_TYPE | ( | Type | ) |
this generates struct has_member_type_##Type<T>
whose public constexpr member variable value
is true if T::Member
is a valid type.
Definition at line 127 of file type_traits.h.
◆ GENERATE_IS_FREE_FUNCTION_ANYRETURN
#define GENERATE_IS_FREE_FUNCTION_ANYRETURN | ( | Function | ) |
this generates struct is_free_function_Function_anyreturn<Args...>
whose public constexpr member variable value
is true if Function
is a free function that takes Args
and returns any value.
- Note
- to ensure that
Function
can be looked up if it can't be found via ADL, it may be necessary to add"using namespace::Function"
BEFORE using this macro.
Definition at line 244 of file type_traits.h.
◆ GENERATE_IS_FREE_FUNCTION_STD_ANYRETURN
#define GENERATE_IS_FREE_FUNCTION_STD_ANYRETURN | ( | Function | ) |
this generates struct is_free_function_std_Function_anyreturn<Args...>
whose public constexpr member variable value
is true if ::std::Function
is a free function that takes Args
and returns any value.
Definition at line 273 of file type_traits.h.
Typedef Documentation
◆ void_t
using std::void_t = typedef typename make_void<Ts...>::type |
Definition at line 55 of file type_traits.h.
Variable Documentation
◆ is_integral_v
|
inlineconstexpr |
Definition at line 61 of file type_traits.h.