Block-Structured AMR Software Framework
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches
AMReX_FabDataType.H
Go to the documentation of this file.
1#ifndef AMREX_FAB_DATA_TYPE_H_
2#define AMREX_FAB_DATA_TYPE_H_
3#include <AMReX_Config.H>
4
5#include <AMReX_TypeTraits.H>
6
7namespace amrex {
8
9template <typename T, class Enable = void> struct FabDataType {};
10//
11template <typename T>
12struct FabDataType <T, std::enable_if_t<IsMultiFabLike_v<T> > >
13{
14 using fab_type = typename T::fab_type;
15 using value_type = typename T::value_type;
16};
17
18template <typename T>
19struct FabDataType <T, std::enable_if_t<IsMultiFabLike_v<typename T::value_type> > >
20{
21 using fab_type = typename T::value_type::fab_type;
22 using value_type = typename T::value_type::value_type;
23};
24
25}
26
27#endif
Definition AMReX_Amr.cpp:49
typename T::fab_type fab_type
Definition AMReX_FabDataType.H:14
typename T::value_type value_type
Definition AMReX_FabDataType.H:15
typename T::value_type::value_type value_type
Definition AMReX_FabDataType.H:22
typename T::value_type::fab_type fab_type
Definition AMReX_FabDataType.H:21
Definition AMReX_FabDataType.H:9