Advanced Multi-Physics (AMP)
On-Line Documentation
Classes | Namespaces | Typedefs | Variables
TypeTraits.h File Reference
#include <memory>
#include <utility>
#include <vector>
#include "AMP/utils/ArraySize.h"
Include dependency graph for TypeTraits.h:

Go to the source code of this file.

Classes

struct  AMP::arg_count< T(Args...)>
 
struct  AMP::has_begin< T, typename >
 
struct  AMP::has_begin< T, decltype(void(std::begin(std::declval< T & >())))>
 
struct  AMP::has_empty< T, typename >
 
struct  AMP::has_empty< T, decltype(void(std::empty(std::declval< T & >())))>
 
struct  AMP::has_end< T, typename >
 
struct  AMP::has_end< T, decltype(void(std::end(std::declval< T & >())))>
 
struct  AMP::has_size< T >
 Checks whether T has a size() function. More...
 
struct  AMP::is_array< T >
 Checks whether T is a std::array. More...
 
struct  AMP::is_Array< T >
 Checks whether T is an AMP::Array. More...
 
struct  AMP::is_Array< Array< T, FunctionTable< T >, HostAllocator< T > > >
 
struct  AMP::is_Array< Array< T, FunctionTable< T >, HostAllocator< void > > >
 
struct  AMP::is_array< std::array< T, N > >
 
struct  AMP::is_complex< T >
 Checks whether T is complex. More...
 
struct  AMP::is_complex< const T >
 
struct  AMP::is_complex< std::complex< T > >
 
struct  AMP::is_complex< volatile const T >
 
struct  AMP::is_complex< volatile T >
 
struct  AMP::is_initializer_list< T >
 Checks whether T is an initializer_list. More...
 
struct  AMP::is_initializer_list< std::initializer_list< T > >
 
struct  AMP::is_pair< typename >
 
struct  AMP::is_pair< std::pair< T, U > >
 
struct  AMP::is_shared_ptr< T >
 Checks whether T is a shared_ptr. More...
 
struct  AMP::is_shared_ptr< std::shared_ptr< T > >
 
struct  AMP::is_string< T >
 Checks whether T is convertible to a string. More...
 
struct  AMP::is_string< char * >
 
struct  AMP::is_string< char[N]>
 
struct  AMP::is_string< std::string >
 
struct  AMP::is_string< std::string_view >
 
struct  AMP::is_unique_ptr< T >
 Checks whether T is a unique_ptr. More...
 
struct  AMP::is_unique_ptr< std::unique_ptr< T > >
 
struct  AMP::is_vector< T >
 Checks whether T is a std::vector. More...
 
struct  AMP::is_vector< std::vector< T > >
 

Namespaces

namespace  AMP
 

Typedefs

template<typename T >
using AMP::remove_cvref_t = typename std::remove_cv_t< typename std::remove_reference_t< T > >
 

Variables

template<class T >
constexpr bool AMP::arg_count_v = arg_count<T>::value
 
template<class T >
constexpr bool AMP::has_begin_v = has_begin<T>::value
 
template<class T >
constexpr bool AMP::has_empty_v = has_empty<T>::value
 
template<class T >
constexpr bool AMP::has_end_v = has_end<T>::value
 
template<class T >
constexpr bool AMP::has_size_v = has_size<T>::value
 
template<class T >
constexpr bool AMP::is_array_v = is_array<T>::value
 
template<class T >
constexpr bool AMP::is_Array_v = is_Array<T>::value
 
template<class T >
constexpr bool AMP::is_complex_v = is_complex<T>::value
 
template<class T >
constexpr bool AMP::is_container_v = has_begin_v<T> && has_end_v<T> && has_empty_v<T>
 
template<class T >
constexpr bool AMP::is_initializer_list_v = is_initializer_list<T>::value
 
template<class T >
constexpr bool AMP::is_pair_v = is_pair<T>::value
 
template<class T1 , class T2 >
constexpr bool AMP::is_same_int_v
 Checks whether two types are both integers of the same size and sign.
 
template<class T >
constexpr bool AMP::is_shared_ptr_v = is_shared_ptr<T>::value
 
template<class T >
constexpr bool AMP::is_string_v = is_string<T>::value
 
template<class T >
constexpr bool AMP::is_unique_ptr_v = is_unique_ptr<T>::value
 
template<class T >
constexpr bool AMP::is_vector_v = is_vector<T>::value
 



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:41.
Comments on this page