41#ifndef LLVM_FRONTEND_OPENMP_CLAUSET_H 
   42#define LLVM_FRONTEND_OPENMP_CLAUSET_H 
   61#define ENUM(Name, ...) enum class Name { __VA_ARGS__ } 
   62#define OPT(x) std::optional<x> 
   76#define CLAUSET_SCOPED_ENUM_MEMBER_CONVERT(Ov, Tv)                             \ 
   77  if (v == OtherEnum::Ov) {                                                    \ 
   78    return ThisEnum::Tv;                                                       \ 
 
   82#define CLAUSET_UNSCOPED_ENUM_MEMBER_CONVERT(Ov, Tv)                           \ 
   84    return ThisEnum::Tv;                                                       \ 
 
   87#define CLAUSET_ENUM_CONVERT(func, OtherE, ThisE, Maps)                        \ 
   88  auto func = [](OtherE v) -> ThisE {                                          \ 
   89    using ThisEnum = ThisE;                                                    \ 
   90    using OtherEnum = OtherE;                                                  \ 
   91    (void)sizeof(OtherEnum);           \ 
   93    llvm_unreachable("Unexpected value in " #OtherE);                          \ 
 
  115  static constexpr bool value = 
false;
 
 
  127template <
typename... Types1, 
typename... Types2>
 
  129  using type = std::variant<Types1..., Types2...>;
 
 
 
  145template <
typename T, 
typename... Ts> 
struct Union<
T, Ts...> {
 
 
  181template <
typename IdType, 
typename ExprType> 
struct ObjectT;
 
  184template <
typename I, 
typename E>
 
  186  return o1.id() == o2.id();
 
 
  193template <
typename I, 
typename E> 
 
  199  ENUM(IntrinsicOperator, Power, Multiply, Divide, Add, Subtract, 
Concat, LT,
 
  200       LE, 
EQ, NE, GE, GT, NOT, AND, OR, EQV, NEQV, Min, Max);
 
  202  std::variant<DefinedOpName, IntrinsicOperator> 
u;
 
 
  214template <
typename TypeType, 
typename IdType, 
typename ExprType> 
 
  230template <
typename I, 
typename E> 
 
  239ENUM(MemoryOrder, AcqRel, Acquire, Relaxed, Release, SeqCst);
 
  240ENUM(MotionExpectation, Present);
 
  243ENUM(DependenceType, Depobj, In, Inout, Inoutset, Mutexinoutset, Out, Sink,
 
  247template <
typename I, 
typename E> 
 
  251    std::tuple<DefinedOperatorT<I, E>, 
E> 
t;
 
 
 
  257template <
typename I, 
typename E> 
 
  270template <
typename I, 
typename E> 
 
  276template <
typename T, 
typename I, 
typename E> 
 
  280std::enable_if_t<T::EmptyTrait::value, bool> 
operator==(
const T &a,
 
 
  285std::enable_if_t<T::IncompleteTrait::value, bool> 
operator==(
const T &a,
 
 
  290std::enable_if_t<T::WrapperTrait::value, bool> 
operator==(
const T &a,
 
 
  295std::enable_if_t<T::TupleTrait::value, bool> 
operator==(
const T &a,
 
 
  300std::enable_if_t<T::UnionTrait::value, bool> 
operator==(
const T &a,
 
 
 
  311template <
typename T, 
typename I, 
typename E>
 
  315    typename ContainerTy, 
typename FunctionTy,
 
  317    typename ResultTy = std::invoke_result_t<FunctionTy, ElemTy>>
 
  325using type::operator==;
 
  328template <
typename T, 
typename I, 
typename E> 
 
  336template <
typename T, 
typename I, 
typename E> 
 
  342template <
typename T, 
typename I, 
typename E> 
 
  348template <
typename T, 
typename I, 
typename E> 
 
  354template <
typename T, 
typename I, 
typename E> 
 
  364template <
typename T, 
typename I, 
typename E> 
 
  373template <
typename T, 
typename I, 
typename E> 
 
  382template <
typename T, 
typename I, 
typename E> 
 
  386template <
typename T, 
typename I, 
typename E> 
 
  398template <
typename T, 
typename I, 
typename E> 
 
  406template <
typename T, 
typename I, 
typename E> 
 
  412template <
typename T, 
typename I, 
typename E> 
 
  414  ENUM(ActionTime, Compilation, Execution);
 
 
  420template <
typename T, 
typename I, 
typename E> 
 
  428template <
typename T, 
typename I, 
typename E> 
 
  436template <
typename T, 
typename I, 
typename E> 
 
  442template <
typename T, 
typename I, 
typename E> 
 
  450template <
typename T, 
typename I, 
typename E> 
 
  456template <
typename T, 
typename I, 
typename E> 
 
  464template <
typename T, 
typename I, 
typename E> 
 
  472template <
typename T, 
typename I, 
typename E> 
 
  480template <
typename T, 
typename I, 
typename E> 
 
  482  ENUM(DataSharingAttribute, Firstprivate, 
None, Private, Shared);
 
  484  DataSharingAttribute 
v;
 
 
  488template <
typename T, 
typename I, 
typename E> 
 
  492  ENUM(VariableCategory, 
All, Scalar, Aggregate, Pointer, Allocatable);
 
  494  std::tuple<ImplicitBehavior, 
OPT(VariableCategory)> 
t;
 
 
  497template <
typename T, 
typename I, 
typename E> 
 
  501template <
typename T, 
typename I, 
typename E> 
 
  515  std::variant<Doacross, TaskDep> 
u; 
 
 
  519template <
typename T, 
typename I, 
typename E> 
 
  528template <
typename T, 
typename I, 
typename E> 
 
  536template <
typename T, 
typename I, 
typename E> 
 
  539  ENUM(DeviceModifier, Ancestor, DeviceNum);
 
 
  545template <
typename T, 
typename I, 
typename E> 
 
  553template <
typename T, 
typename I, 
typename E> 
 
  555  ENUM(DeviceTypeDescription, Any, Host, Nohost);
 
  557  DeviceTypeDescription 
v;
 
 
  561template <
typename T, 
typename I, 
typename E> 
 
  570template <
typename T, 
typename I, 
typename E> 
 
  576  std::tuple<DependenceType, Vector> 
t;
 
 
  580template <
typename T, 
typename I, 
typename E> 
 
  587template <
typename T, 
typename I, 
typename E> 
 
  597template <
typename T, 
typename I, 
typename E> 
 
  606template <
typename T, 
typename I, 
typename E> 
 
  614template <
typename T, 
typename I, 
typename E> 
 
  622template <
typename T, 
typename I, 
typename E> 
 
  630template <
typename T, 
typename I, 
typename E> 
 
  638template <
typename T, 
typename I, 
typename E> 
 
  646template <
typename T, 
typename I, 
typename E> 
 
  659template <
typename T, 
typename I, 
typename E> 
 
  665template <
typename T, 
typename I, 
typename E> 
 
  674template <
typename T, 
typename I, 
typename E> 
 
  680template <
typename T, 
typename I, 
typename E> 
 
  686template <
typename T, 
typename I, 
typename E> 
 
  694template <
typename T, 
typename I, 
typename E> 
 
  702template <
typename T, 
typename I, 
typename E> 
 
  709template <
typename T, 
typename I, 
typename E> 
 
  718template <
typename T, 
typename I, 
typename E> 
 
  724template <
typename T, 
typename I, 
typename E> 
 
  732template <
typename T, 
typename I, 
typename E> 
 
  740template <
typename T, 
typename I, 
typename E> 
 
  745  ENUM(InteropType, Target, Targetsync);   
 
 
  753template <
typename T, 
typename I, 
typename E> 
 
  761template <
typename T, 
typename I, 
typename E> 
 
  768  std::tuple<ReductionIdentifiers, List> 
t;
 
 
  772template <
typename T, 
typename I, 
typename E> 
 
  780template <
typename T, 
typename I, 
typename E> 
 
  783  ENUM(LastprivateModifier, Conditional);
 
 
  789template <
typename T, 
typename I, 
typename E> 
 
  795  ENUM(LinearModifier, Ref, Val, Uval);
 
 
  803template <
typename T, 
typename I, 
typename E> 
 
  811template <
typename T, 
typename I, 
typename E> 
 
  814  ENUM(MapType, To, From, Tofrom, Storage);
 
  816  ENUM(MapTypeModifier, Always, Close, Delete, Present, Self, OmpxHold);
 
  817  ENUM(RefModifier, RefPtee, RefPtr, RefPtrPtee);
 
 
  830template <
typename T, 
typename I, 
typename E> 
 
  836template <
typename T, 
typename I, 
typename E> 
 
  842template <
typename T, 
typename I, 
typename E> 
 
  850template <
typename T, 
typename I, 
typename E> 
 
  858template <
typename T, 
typename I, 
typename E> 
 
  864template <
typename T, 
typename I, 
typename E> 
 
  872template <
typename T, 
typename I, 
typename E> 
 
  878template <
typename T, 
typename I, 
typename E> 
 
  884template <
typename T, 
typename I, 
typename E> 
 
  890template <
typename T, 
typename I, 
typename E> 
 
  896template <
typename T, 
typename I, 
typename E> 
 
  902template <
typename T, 
typename I, 
typename E> 
 
  910template <
typename T, 
typename I, 
typename E> 
 
  916template <
typename T, 
typename I, 
typename E> 
 
  925template <
typename T, 
typename I, 
typename E> 
 
  944template <
typename T, 
typename I, 
typename E> 
 
  951template <
typename T, 
typename I, 
typename E> 
 
  956template <
typename T, 
typename I, 
typename E> 
 
  961template <
typename T, 
typename I, 
typename E> 
 
  968template <
typename T, 
typename I, 
typename E> 
 
  970  ENUM(OrderModifier, Reproducible, Unconstrained);
 
  973  std::tuple<
OPT(OrderModifier), Ordering> 
t;
 
 
  977template <
typename T, 
typename I, 
typename E> 
 
  985template <
typename T, 
typename I, 
typename E> 
 
  991template <
typename T, 
typename I, 
typename E> 
 
  999template <
typename T, 
typename I, 
typename E> 
 
 1007template <
typename T, 
typename I, 
typename E> 
 
 1015template <
typename T, 
typename I, 
typename E> 
 
 1023template <
typename T, 
typename I, 
typename E> 
 
 1025  ENUM(AffinityPolicy, Close, Master, Spread, Primary);
 
 
 1031template <
typename T, 
typename I, 
typename E> 
 
 1037template <
typename T, 
typename I, 
typename E> 
 
 1049template <
typename T, 
typename I, 
typename E> 
 
 1055template <
typename T, 
typename I, 
typename E> 
 
 1061template <
typename T, 
typename I, 
typename E> 
 
 1067template <
typename T, 
typename I, 
typename E> 
 
 1075template <
typename T, 
typename I, 
typename E> 
 
 1083template <
typename T, 
typename I, 
typename E> 
 
 1085  ENUM(Kind, Static, Dynamic, Guided, Auto, Runtime);
 
 1087  ENUM(OrderingModifier, Monotonic, Nonmonotonic);
 
 
 1094template <
typename T, 
typename I, 
typename E> 
 
 1102template <
typename T, 
typename I, 
typename E> 
 
 1108template <
typename T, 
typename I, 
typename E> 
 
 1116template <
typename T, 
typename I, 
typename E> 
 
 1124template <
typename T, 
typename I, 
typename E> 
 
 1130template <
typename T, 
typename I, 
typename E> 
 
 1138template <
typename T, 
typename I, 
typename E> 
 
 1146template <
typename T, 
typename I, 
typename E> 
 
 1153  std::tuple<ReductionIdentifiers, List> 
t;
 
 
 1157template <
typename T, 
typename I, 
typename E> 
 
 1165template <
typename T, 
typename I, 
typename E> 
 
 1171template <
typename T, 
typename I, 
typename E> 
 
 1173  ENUM(ThreadsetPolicy, Omp_Pool, Omp_Team);
 
 
 1179template <
typename T, 
typename I, 
typename E> 
 
 1192template <
typename T, 
typename I, 
typename E> 
 
 1198template <
typename T, 
typename I, 
typename E> 
 
 1206template <
typename T, 
typename I, 
typename E> 
 
 1214template <
typename T, 
typename I, 
typename E> 
 
 1221template <
typename T, 
typename I, 
typename E> 
 
 1227template <
typename T, 
typename I, 
typename E> 
 
 1235template <
typename T, 
typename I, 
typename E> 
 
 1243template <
typename T, 
typename I, 
typename E> 
 
 1251template <
typename T, 
typename I, 
typename E> 
 
 1259template <
typename T, 
typename I, 
typename E> 
 
 1267template <
typename T, 
typename I, 
typename E> 
 
 1282template <
typename T, 
typename I, 
typename E> 
 
 1288template <
typename T, 
typename I, 
typename E> 
 
 1294template <
typename T, 
typename I, 
typename E> 
 
 1305  std::tuple<Begin, End> 
t;
 
 
 1310template <
typename T, 
typename I, 
typename E>
 
 1315template <
typename T, 
typename I, 
typename E>
 
 1317    AcqRelT<T, I, E>, 
AcquireT<T, I, E>, 
CaptureT<T, I, E>, 
CompareT<T, I, E>,
 
 1318    FullT<T, I, E>, 
InbranchT<T, I, E>, 
MergeableT<T, I, E>, 
NogroupT<T, I, E>,
 
 1321    NowaitT<T, I, E>, 
ReadT<T, I, E>, 
RelaxedT<T, I, E>, 
ReleaseT<T, I, E>,
 
 1322    SeqCstT<T, I, E>, 
SimdT<T, I, E>, 
ThreadsT<T, I, E>, 
UnknownT<T, I, E>,
 
 1323    UntiedT<T, I, E>, 
UseT<T, I, E>, 
WeakT<T, I, E>, 
WriteT<T, I, E>>;
 
 1325template <
typename T, 
typename I, 
typename E>
 
 1331template <
typename T, 
typename I, 
typename E>
 
 1342template <
typename T, 
typename I, 
typename E>
 
 1345template <
typename T, 
typename I, 
typename E>
 
 1353    FailT<T, I, E>, 
FilterT<T, I, E>, 
FinalT<T, I, E>, 
FirstprivateT<T, I, E>,
 
 1361    SelfMapsT<T, I, E>, 
SeverityT<T, I, E>, 
SharedT<T, I, E>, 
SimdlenT<T, I, E>,
 
 1367template <
typename T, 
typename I, 
typename E>
 
 
 1378using type::operator==;
 
 1392template <
typename TypeType, 
typename IdType, 
typename ExprType,
 
 1404      std::variant<Extras...>>
::type;
 
 
 1412  llvm::omp::Directive 
id = llvm::omp::Directive::OMPD_unknown;
 
 
 
AMDGPU Prepare AGPR Alloc
 
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
 
DXIL Resource Implicit Binding
 
This file defines the DenseMap class.
 
This file defines the DenseSet and SmallDenseSet classes.
 
This file defines the SmallVector class.
 
static constexpr int Concat[]
 
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
 
constexpr bool is_variant_v
 
OutputIt transform(R &&Range, OutputIt d_first, UnaryFunction F)
Wrapper function around std::transform to apply a function to a range and store the result elsewhere.
 
Implement std::hash so that hash_code can be used in STL containers.
 
typename type::Union< EmptyClausesT< T, I, E >, ExtensionClausesT< T, I, E >, IncompleteClausesT< T, I, E >, TupleClausesT< T, I, E >, UnionClausesT< T, I, E >, WrapperClausesT< T, I, E > >::type UnionOfAllClausesT
 
std::variant< AffinityT< T, I, E >, AlignedT< T, I, E >, AllocateT< T, I, E >, DefaultmapT< T, I, E >, DeviceT< T, I, E >, DistScheduleT< T, I, E >, DoacrossT< T, I, E >, DynGroupprivateT< T, I, E >, FromT< T, I, E >, GrainsizeT< T, I, E >, IfT< T, I, E >, InitT< T, I, E >, InReductionT< T, I, E >, LastprivateT< T, I, E >, LinearT< T, I, E >, LoopRangeT< T, I, E >, MapT< T, I, E >, NumTasksT< T, I, E >, OrderT< T, I, E >, ReductionT< T, I, E >, ScheduleT< T, I, E >, TaskReductionT< T, I, E >, ToT< T, I, E > > TupleClausesT
 
std::variant< OmpxAttributeT< T, I, E >, OmpxBareT< T, I, E >, OmpxDynCgroupMemT< T, I, E > > ExtensionClausesT
 
std::variant< AcqRelT< T, I, E >, AcquireT< T, I, E >, CaptureT< T, I, E >, CompareT< T, I, E >, FullT< T, I, E >, InbranchT< T, I, E >, MergeableT< T, I, E >, NogroupT< T, I, E >, NoOpenmpConstructsT< T, I, E >, NoOpenmpRoutinesT< T, I, E >, NoOpenmpT< T, I, E >, NoParallelismT< T, I, E >, NotinbranchT< T, I, E >, NowaitT< T, I, E >, ReadT< T, I, E >, RelaxedT< T, I, E >, ReleaseT< T, I, E >, SeqCstT< T, I, E >, SimdT< T, I, E >, ThreadsT< T, I, E >, UnknownT< T, I, E >, UntiedT< T, I, E >, UseT< T, I, E >, WeakT< T, I, E >, WriteT< T, I, E > > EmptyClausesT
 
std::variant< AdjustArgsT< T, I, E >, AppendArgsT< T, I, E >, GraphIdT< T, I, E >, GraphResetT< T, I, E >, MatchT< T, I, E >, OtherwiseT< T, I, E >, ReplayableT< T, I, E >, TransparentT< T, I, E >, WhenT< T, I, E > > IncompleteClausesT
 
std::variant< DependT< T, I, E > > UnionClausesT
 
std::variant< AbsentT< T, I, E >, AlignT< T, I, E >, AllocatorT< T, I, E >, AtomicDefaultMemOrderT< T, I, E >, AtT< T, I, E >, BindT< T, I, E >, CollapseT< T, I, E >, ContainsT< T, I, E >, CopyinT< T, I, E >, CopyprivateT< T, I, E >, DefaultT< T, I, E >, DestroyT< T, I, E >, DetachT< T, I, E >, DeviceSafesyncT< T, I, E >, DeviceTypeT< T, I, E >, DynamicAllocatorsT< T, I, E >, EnterT< T, I, E >, ExclusiveT< T, I, E >, FailT< T, I, E >, FilterT< T, I, E >, FinalT< T, I, E >, FirstprivateT< T, I, E >, HasDeviceAddrT< T, I, E >, HintT< T, I, E >, HoldsT< T, I, E >, InclusiveT< T, I, E >, IndirectT< T, I, E >, InitializerT< T, I, E >, IsDevicePtrT< T, I, E >, LinkT< T, I, E >, MessageT< T, I, E >, NocontextT< T, I, E >, NontemporalT< T, I, E >, NovariantsT< T, I, E >, NumTeamsT< T, I, E >, NumThreadsT< T, I, E >, OrderedT< T, I, E >, PartialT< T, I, E >, PriorityT< T, I, E >, PrivateT< T, I, E >, ProcBindT< T, I, E >, ReverseOffloadT< T, I, E >, SafelenT< T, I, E >, SelfMapsT< T, I, E >, SeverityT< T, I, E >, SharedT< T, I, E >, SimdlenT< T, I, E >, SizesT< T, I, E >, PermutationT< T, I, E >, ThreadLimitT< T, I, E >, ThreadsetT< T, I, E >, UnifiedAddressT< T, I, E >, UnifiedSharedMemoryT< T, I, E >, UniformT< T, I, E >, UpdateT< T, I, E >, UseDeviceAddrT< T, I, E >, UseDevicePtrT< T, I, E >, UsesAllocatorsT< T, I, E > > WrapperClausesT
 
llvm::omp::Directive DirectiveName
 
ListT< IteratorSpecifierT< T, I, E > > IteratorT
 
bool operator==(const ObjectT< I, E > &o1, const ObjectT< I, E > &o2)
 
ListT< ObjectT< I, E > > ObjectListT
 
llvm::SmallVector< T, 0 > ListT
 
type::ObjectListT< I, E > ObjectListT
 
type::IteratorT< T, I, E > IteratorT
 
ListT< ResultTy > makeList(ContainerTy &&container, FunctionTy &&func)
 
type::ObjectT< I, E > ObjectT
 
std::variant< Types1..., Types2... > type
 
static constexpr bool value
 
static constexpr bool value
 
std::true_type UnionTrait
 
typename type::Union< clause::UnionOfAllClausesT< TypeType, IdType, ExprType >, std::variant< Extras... > >::type VariantTy
 
ClauseT< TypeType, IdType, ExprType, Extras... > BaseT
 
tomp::type::ListT< ClauseType > clauses
 
std::true_type WrapperTrait
 
ListT< type::DirectiveName > List
 
std::true_type EmptyTrait
 
std::true_type EmptyTrait
 
std::true_type IncompleteTrait
 
type::IteratorT< T, I, E > Iterator
 
std::tuple< OPT(Iterator), LocatorList > t
 
std::true_type TupleTrait
 
ObjectListT< I, E > LocatorList
 
std::true_type WrapperTrait
 
std::tuple< OPT(Alignment), List > t
 
std::true_type TupleTrait
 
std::true_type TupleTrait
 
std::tuple< OPT(AllocatorComplexModifier), OPT(AlignModifier), List > t
 
AllocatorT< T, I, E > AllocatorComplexModifier
 
AlignT< T, I, E > AlignModifier
 
std::true_type WrapperTrait
 
std::true_type IncompleteTrait
 
ENUM(ActionTime, Compilation, Execution)
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
type::MemoryOrder MemoryOrder
 
ENUM(Binding, Teams, Parallel, Thread)
 
std::true_type WrapperTrait
 
std::true_type EmptyTrait
 
std::true_type WrapperTrait
 
std::true_type EmptyTrait
 
ListT< type::DirectiveName > List
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
ENUM(DataSharingAttribute, Firstprivate, None, Private, Shared)
 
ENUM(ImplicitBehavior, Alloc, To, From, Tofrom, Firstprivate, None, Default, Present)
 
ENUM(VariableCategory, All, Scalar, Aggregate, Pointer, Allocatable)
 
std::tuple< ImplicitBehavior, OPT(VariableCategory)> t
 
std::true_type TupleTrait
 
std::true_type TupleTrait
 
std::tuple< DependenceType, OPT(Iterator), LocatorList > t
 
tomp::type::DependenceType DependenceType
 
DoacrossT< T, I, E > Doacross
 
std::true_type UnionTrait
 
ObjectListT< I, E > LocatorList
 
type::IteratorT< T, I, E > Iterator
 
std::variant< Doacross, TaskDep > u
 
std::true_type WrapperTrait
 
ObjectT< I, E > DestroyVar
 
ObjectT< I, E > EventHandle
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
std::tuple< OPT(DeviceModifier), DeviceDescription > t
 
std::true_type TupleTrait
 
ENUM(DeviceModifier, Ancestor, DeviceNum)
 
std::true_type WrapperTrait
 
ENUM(DeviceTypeDescription, Any, Host, Nohost)
 
std::tuple< Kind, OPT(ChunkSize)> t
 
std::true_type TupleTrait
 
std::true_type TupleTrait
 
ListT< type::LoopIterationT< I, E > > Vector
 
tomp::type::DependenceType DependenceType
 
std::tuple< DependenceType, Vector > t
 
type::Prescriptiveness Prescriptiveness
 
std::tuple< OPT(AccessGroup), OPT(Prescriptiveness), Size > t
 
ENUM(AccessGroup, Cgroup)
 
std::true_type TupleTrait
 
std::true_type WrapperTrait
 
std::true_type TupleTrait
 
std::tuple< OPT(Modifier), List > t
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
type::MemoryOrder MemoryOrder
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
std::true_type TupleTrait
 
type::IteratorT< T, I, E > Iterator
 
std::tuple< OPT(Expectation), OPT(Mappers), OPT(Iterator), LocatorList > t
 
ListT< type::MapperT< I, E > > Mappers
 
type::MotionExpectation Expectation
 
ObjectListT< I, E > LocatorList
 
std::true_type EmptyTrait
 
type::Prescriptiveness Prescriptiveness
 
std::true_type TupleTrait
 
std::tuple< OPT(Prescriptiveness), GrainSize > t
 
std::true_type IncompleteTrait
 
std::true_type IncompleteTrait
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
std::tuple< OPT(DirectiveNameModifier), IfExpression > t
 
std::true_type TupleTrait
 
type::DirectiveName DirectiveNameModifier
 
std::tuple< ReductionIdentifiers, List > t
 
std::true_type TupleTrait
 
ListT< type::ReductionIdentifierT< I, E > > ReductionIdentifiers
 
std::true_type EmptyTrait
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
ListT< ForeignRuntimeId > InteropPreference
 
ObjectT< I, E > InteropVar
 
ListT< InteropType > InteropTypes
 
std::tuple< OPT(InteropPreference), InteropTypes, InteropVar > t
 
ENUM(InteropType, Target, Targetsync)
 
std::true_type TupleTrait
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
std::tuple< OPT(LastprivateModifier), List > t
 
ENUM(LastprivateModifier, Conditional)
 
std::true_type TupleTrait
 
std::true_type TupleTrait
 
std::tuple< OPT(StepComplexModifier), OPT(LinearModifier), List > t
 
ENUM(LinearModifier, Ref, Val, Uval)
 
std::true_type WrapperTrait
 
std::true_type TupleTrait
 
std::tuple< Begin, End > t
 
ENUM(RefModifier, RefPtee, RefPtr, RefPtrPtee)
 
ListT< type::MapperT< I, E > > Mappers
 
std::tuple< OPT(MapType), OPT(MapTypeModifiers), OPT(AttachModifier), OPT(RefModifier), OPT(Mappers), OPT(Iterator), LocatorList > t
 
ObjectListT< I, E > LocatorList
 
type::IteratorT< T, I, E > Iterator
 
ENUM(MapTypeModifier, Always, Close, Delete, Present, Self, OmpxHold)
 
ListT< MapTypeModifier > MapTypeModifiers
 
ENUM(MapType, To, From, Tofrom, Storage)
 
ENUM(AttachModifier, Always, Auto, Never)
 
std::true_type TupleTrait
 
std::true_type IncompleteTrait
 
std::true_type EmptyTrait
 
std::true_type WrapperTrait
 
std::true_type EmptyTrait
 
std::true_type EmptyTrait
 
std::true_type EmptyTrait
 
std::true_type EmptyTrait
 
std::true_type WrapperTrait
 
std::true_type EmptyTrait
 
std::true_type WrapperTrait
 
std::true_type EmptyTrait
 
std::true_type WrapperTrait
 
std::true_type EmptyTrait
 
std::tuple< OPT(Prescriptiveness), NumTasks > t
 
type::Prescriptiveness Prescriptiveness
 
std::true_type TupleTrait
 
std::true_type TupleTrait
 
std::tuple< OPT(LowerBound), UpperBound > t
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
std::true_type EmptyTrait
 
std::true_type EmptyTrait
 
std::true_type WrapperTrait
 
std::tuple< OPT(OrderModifier), Ordering > t
 
ENUM(OrderModifier, Reproducible, Unconstrained)
 
std::true_type TupleTrait
 
ENUM(Ordering, Concurrent)
 
std::true_type WrapperTrait
 
std::true_type IncompleteTrait
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
ENUM(AffinityPolicy, Close, Master, Spread, Primary)
 
std::true_type EmptyTrait
 
std::true_type TupleTrait
 
std::tuple< OPT(ReductionModifier), ReductionIdentifiers, List > t
 
ENUM(ReductionModifier, Default, Inscan, Task)
 
ListT< type::ReductionIdentifierT< I, E > > ReductionIdentifiers
 
std::true_type EmptyTrait
 
std::true_type EmptyTrait
 
std::true_type IncompleteTrait
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
std::true_type TupleTrait
 
std::tuple< Kind, OPT(OrderingModifier), OPT(ChunkModifier), OPT(ChunkSize)> t
 
ENUM(OrderingModifier, Monotonic, Nonmonotonic)
 
ENUM(ChunkModifier, Simd)
 
ENUM(Kind, Static, Dynamic, Guided, Auto, Runtime)
 
std::true_type WrapperTrait
 
std::true_type EmptyTrait
 
ENUM(SevLevel, Fatal, Warning)
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
std::true_type EmptyTrait
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
std::true_type TupleTrait
 
ListT< type::ReductionIdentifierT< I, E > > ReductionIdentifiers
 
std::tuple< ReductionIdentifiers, List > t
 
std::true_type WrapperTrait
 
std::true_type EmptyTrait
 
std::true_type WrapperTrait
 
ENUM(ThreadsetPolicy, Omp_Pool, Omp_Team)
 
std::true_type TupleTrait
 
type::MotionExpectation Expectation
 
std::tuple< OPT(Expectation), OPT(Mappers), OPT(Iterator), LocatorList > t
 
type::IteratorT< T, I, E > Iterator
 
ObjectListT< I, E > LocatorList
 
ListT< type::MapperT< I, E > > Mappers
 
std::true_type IncompleteTrait
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
std::true_type EmptyTrait
 
std::true_type EmptyTrait
 
std::true_type WrapperTrait
 
tomp::type::DependenceType DependenceType
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
ObjectT< I, E > InteropVar
 
std::true_type WrapperTrait
 
std::tuple< OPT(MemSpace), OPT(TraitsArray), Allocator > t
 
std::true_type TupleTrait
 
ListT< AllocatorSpec > Allocators
 
std::true_type WrapperTrait
 
ObjectT< I, E > TraitsArray
 
std::true_type EmptyTrait
 
std::true_type IncompleteTrait
 
std::true_type EmptyTrait
 
std::true_type WrapperTrait
 
std::true_type UnionTrait
 
std::variant< DefinedOpName, IntrinsicOperator > u
 
ENUM(IntrinsicOperator, Power, Multiply, Divide, Add, Subtract, Concat, LT, LE, EQ, NE, GE, GT, NOT, AND, OR, EQV, NEQV, Min, Max)
 
std::true_type TupleTrait
 
std::tuple< OPT(TypeType), ObjectT< IdType, ExprType >, RangeT< ExprType > > t
 
std::tuple< DefinedOperatorT< I, E >, E > t
 
std::true_type TupleTrait
 
std::tuple< ObjectT< I, E >, OPT(Distance)> t
 
std::true_type TupleTrait
 
ObjectT< I, E > MapperIdentifier
 
std::true_type WrapperTrait
 
std::true_type WrapperTrait
 
std::true_type TupleTrait
 
std::tuple< E, E, OPT(E)> t
 
std::true_type UnionTrait
 
std::variant< DefinedOperatorT< I, E >, ProcedureDesignatorT< I, E > > u
 
typename detail::UnionOfTwo< T, typename Union< Ts... >::type >::type type