Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
AMReX_Concepts.H
Go to the documentation of this file.
1#ifndef AMREX_CONCEPTS_H_
2#define AMREX_CONCEPTS_H_
3
4#include <AMReX_Config.H>
5#include <AMReX_TypeTraits.H>
6#include <concepts>
7
8namespace amrex {
12template <typename T>
13concept BaseFabType = amrex::IsBaseFab_v<T>;
14
18template <typename T>
19concept FabArrayType = amrex::IsFabArray_v<T>;
20
25template <typename T>
26concept MultiFabLike = amrex::IsMultiFabLike_v<T>;
27
28} // namespace amrex
29#endif
Checks if a type is derived from amrex::BaseFab.
Definition AMReX_Concepts.H:13
Checks if a type is an amrex::FabArray.
Definition AMReX_Concepts.H:19
Checks if a type is amrex::MultiFab-like (i.e., FabArray<FAB>, where FAB is a BaseFabType).
Definition AMReX_Concepts.H:26
Definition AMReX_Amr.cpp:50