41#ifndef LLVM_FRONTEND_OPENMP_CLAUSET_H
42#define LLVM_FRONTEND_OPENMP_CLAUSET_H
60#define ENUM(Name, ...) enum class Name { __VA_ARGS__ }
61#define OPT(x) std::optional<x>
75#define CLAUSET_SCOPED_ENUM_MEMBER_CONVERT(Ov, Tv) \
76 if (v == OtherEnum::Ov) { \
77 return ThisEnum::Tv; \
81#define CLAUSET_UNSCOPED_ENUM_MEMBER_CONVERT(Ov, Tv) \
83 return ThisEnum::Tv; \
86#define CLAUSET_ENUM_CONVERT(func, OtherE, ThisE, Maps) \
87 auto func = [](OtherE v) -> ThisE { \
88 using ThisEnum = ThisE; \
89 using OtherEnum = OtherE; \
90 (void)sizeof(OtherEnum); \
92 llvm_unreachable("Unexpected value in " #OtherE); \
114 static constexpr bool value =
false;
126template <
typename... Types1,
typename... Types2>
128 using type = std::variant<Types1..., Types2...>;
144template <
typename T,
typename... Ts>
struct Union<
T, Ts...> {
180template <
typename IdType,
typename ExprType>
struct ObjectT;
183template <
typename I,
typename E>
185 return o1.id() == o2.id();
192template <
typename I,
typename E>
197 std::tuple<Variables, Instance>
t;
200template <
typename I,
typename E>
202 ENUM(Operator, Power, Multiply, Divide, Add, Subtract,
Concat, LT, LE,
EQ, NE,
203 GE, GT, NOT, AND, OR, EQV, NEQV, Min, Max);
208template <
typename I,
typename E>
215 std::variant<DefinedOpName, IntrinsicOperatorT<I, E>>
u;
227template <
typename TypeType,
typename IdType,
typename ExprType>
243template <
typename I,
typename E>
253ENUM(MotionExpectation, Present);
256ENUM(DependenceType, Depobj, In, Inout, Inoutset, Mutexinoutset, Out, Sink,
260template <
typename I,
typename E>
264 std::tuple<IntrinsicOperatorT<I, E>,
E>
t;
270template <
typename I,
typename E>
283template <
typename I,
typename E>
289template <
typename T,
typename I,
typename E>
293std::enable_if_t<T::EmptyTrait::value, bool>
operator==(
const T &a,
298std::enable_if_t<T::IncompleteTrait::value, bool>
operator==(
const T &a,
303std::enable_if_t<T::WrapperTrait::value, bool>
operator==(
const T &a,
308std::enable_if_t<T::TupleTrait::value, bool>
operator==(
const T &a,
313std::enable_if_t<T::UnionTrait::value, bool>
operator==(
const T &a,
324template <
typename T,
typename I,
typename E>
328 typename ContainerTy,
typename FunctionTy,
330 typename ResultTy = std::invoke_result_t<FunctionTy, ElemTy>>
338using type::operator==;
341template <
typename T,
typename I,
typename E>
349template <
typename T,
typename I,
typename E>
355template <
typename T,
typename I,
typename E>
361template <
typename T,
typename I,
typename E>
367template <
typename T,
typename I,
typename E>
377template <
typename T,
typename I,
typename E>
386template <
typename T,
typename I,
typename E>
395template <
typename T,
typename I,
typename E>
399template <
typename T,
typename I,
typename E>
411template <
typename T,
typename I,
typename E>
419template <
typename T,
typename I,
typename E>
425template <
typename T,
typename I,
typename E>
431template <
typename T,
typename I,
typename E>
433 ENUM(ActionTime, Compilation, Execution);
439template <
typename T,
typename I,
typename E>
447template <
typename T,
typename I,
typename E>
455template <
typename T,
typename I,
typename E>
461template <
typename T,
typename I,
typename E>
469template <
typename T,
typename I,
typename E>
475template <
typename T,
typename I,
typename E>
483template <
typename T,
typename I,
typename E>
489template <
typename T,
typename I,
typename E>
497template <
typename T,
typename I,
typename E>
505template <
typename T,
typename I,
typename E>
513template <
typename T,
typename I,
typename E>
519template <
typename T,
typename I,
typename E>
521 ENUM(DataSharingAttribute, Firstprivate,
None, Private, Shared);
523 DataSharingAttribute
v;
527template <
typename T,
typename I,
typename E>
533 std::tuple<ImplicitBehavior,
OPT(VariableCategory)>
t;
537template <
typename T,
typename I,
typename E>
555template <
typename T,
typename I,
typename E>
563template <
typename T,
typename I,
typename E>
572template <
typename T,
typename I,
typename E>
580template <
typename T,
typename I,
typename E>
583 ENUM(DeviceModifier, Ancestor, DeviceNum);
589template <
typename T,
typename I,
typename E>
597template <
typename T,
typename I,
typename E>
599 ENUM(DeviceTypeDescription,
Any, Host, Nohost);
601 DeviceTypeDescription
v;
605template <
typename T,
typename I,
typename E>
614template <
typename T,
typename I,
typename E>
620 std::tuple<DependenceType, Vector>
t;
624template <
typename T,
typename I,
typename E>
631template <
typename T,
typename I,
typename E>
634 ENUM(Fallback, Abort, Default_Mem, Null);
641template <
typename T,
typename I,
typename E>
650template <
typename T,
typename I,
typename E>
658template <
typename T,
typename I,
typename E>
666template <
typename T,
typename I,
typename E>
674template <
typename T,
typename I,
typename E>
682template <
typename T,
typename I,
typename E>
690template <
typename T,
typename I,
typename E>
703template <
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>
730template <
typename T,
typename I,
typename E>
738template <
typename T,
typename I,
typename E>
746template <
typename T,
typename I,
typename E>
753template <
typename T,
typename I,
typename E>
762template <
typename T,
typename I,
typename E>
768template <
typename T,
typename I,
typename E>
776template <
typename T,
typename I,
typename E>
784template <
typename T,
typename I,
typename E>
790template <
typename T,
typename I,
typename E>
796template <
typename T,
typename I,
typename E>
801 ENUM(InteropType, Target, Targetsync);
809template <
typename T,
typename I,
typename E>
815template <
typename T,
typename I,
typename E>
823template <
typename T,
typename I,
typename E>
830 std::tuple<ReductionIdentifiers, List>
t;
834template <
typename T,
typename I,
typename E>
840template <
typename T,
typename I,
typename E>
848template <
typename T,
typename I,
typename E>
851 ENUM(LastprivateModifier, Conditional);
857template <
typename T,
typename I,
typename E>
863 ENUM(LinearModifier, Ref, Val, Uval);
871template <
typename T,
typename I,
typename E>
879template <
typename T,
typename I,
typename E>
885template <
typename T,
typename I,
typename E>
891 std::tuple<Begin, Count>
t;
895template <
typename T,
typename I,
typename E>
898 ENUM(MapType, To, From, Tofrom, Storage);
900 ENUM(MapTypeModifier,
Always, Close, Delete, Present, Self, OmpxHold);
901 ENUM(RefModifier, RefPtee, RefPtr, RefPtrPtee);
914template <
typename T,
typename I,
typename E>
920template <
typename T,
typename I,
typename E>
926template <
typename T,
typename I,
typename E>
932template <
typename T,
typename I,
typename E>
940template <
typename T,
typename I,
typename E>
948template <
typename T,
typename I,
typename E>
954template <
typename T,
typename I,
typename E>
962template <
typename T,
typename I,
typename E>
968template <
typename T,
typename I,
typename E>
974template <
typename T,
typename I,
typename E>
980template <
typename T,
typename I,
typename E>
986template <
typename T,
typename I,
typename E>
992template <
typename T,
typename I,
typename E>
1000template <
typename T,
typename I,
typename E>
1006template <
typename T,
typename I,
typename E>
1016template <
typename T,
typename I,
typename E>
1029template <
typename T,
typename I,
typename E>
1037template <
typename T,
typename I,
typename E>
1042template <
typename T,
typename I,
typename E>
1047template <
typename T,
typename I,
typename E>
1054template <
typename T,
typename I,
typename E>
1056 ENUM(OrderModifier, Reproducible, Unconstrained);
1059 std::tuple<
OPT(OrderModifier), Ordering>
t;
1063template <
typename T,
typename I,
typename E>
1071template <
typename T,
typename I,
typename E>
1077template <
typename T,
typename I,
typename E>
1085template <
typename T,
typename I,
typename E>
1093template <
typename T,
typename I,
typename E>
1101template <
typename T,
typename I,
typename E>
1109template <
typename T,
typename I,
typename E>
1111 ENUM(AffinityPolicy, Close, Master, Spread, Primary);
1117template <
typename T,
typename I,
typename E>
1123template <
typename T,
typename I,
typename E>
1135template <
typename T,
typename I,
typename E>
1141template <
typename T,
typename I,
typename E>
1147template <
typename T,
typename I,
typename E>
1153template <
typename T,
typename I,
typename E>
1159template <
typename T,
typename I,
typename E>
1167template <
typename T,
typename I,
typename E>
1175template <
typename T,
typename I,
typename E>
1181template <
typename T,
typename I,
typename E>
1183 ENUM(Kind, Static, Dynamic, Guided, Auto, Runtime);
1185 ENUM(OrderingModifier, Monotonic, Nonmonotonic);
1192template <
typename T,
typename I,
typename E>
1200template <
typename T,
typename I,
typename E>
1206template <
typename T,
typename I,
typename E>
1214template <
typename T,
typename I,
typename E>
1222template <
typename T,
typename I,
typename E>
1228template <
typename T,
typename I,
typename E>
1234template <
typename T,
typename I,
typename E>
1242template <
typename T,
typename I,
typename E>
1250template <
typename T,
typename I,
typename E>
1257 std::tuple<ReductionIdentifiers, List>
t;
1262template <
typename T,
typename I,
typename E>
1271template <
typename T,
typename I,
typename E>
1277template <
typename T,
typename I,
typename E>
1279 ENUM(ThreadsetPolicy, Omp_Pool, Omp_Team);
1285template <
typename T,
typename I,
typename E>
1298template <
typename T,
typename I,
typename E>
1304template <
typename T,
typename I,
typename E>
1312template <
typename T,
typename I,
typename E>
1320template <
typename T,
typename I,
typename E>
1327template <
typename T,
typename I,
typename E>
1333template <
typename T,
typename I,
typename E>
1341template <
typename T,
typename I,
typename E>
1346template <
typename T,
typename I,
typename E>
1354template <
typename T,
typename I,
typename E>
1362template <
typename T,
typename I,
typename E>
1370template <
typename T,
typename I,
typename E>
1378template <
typename T,
typename I,
typename E>
1393template <
typename T,
typename I,
typename E>
1399template <
typename T,
typename I,
typename E>
1405template <
typename T,
typename I,
typename E>
1412template <
typename T,
typename I,
typename E>
1417template <
typename T,
typename I,
typename E>
1419 AcqRelT<T, I, E>,
AcquireT<T, I, E>,
CaptureT<T, I, E>,
CompareT<T, I, E>,
1420 FullT<T, I, E>,
InbranchT<T, I, E>,
MergeableT<T, I, E>,
NogroupT<T, I, E>,
1423 NowaitT<T, I, E>,
ReadT<T, I, E>,
RelaxedT<T, I, E>,
ReleaseT<T, I, E>,
1424 SeqCstT<T, I, E>,
SimdT<T, I, E>,
ThreadsT<T, I, E>,
UnknownT<T, I, E>,
1425 UntiedT<T, I, E>,
UpdateT<T, I, E>,
UseT<T, I, E>,
WeakT<T, I, E>,
1428template <
typename T,
typename I,
typename E>
1439template <
typename T,
typename I,
typename E>
1450template <
typename T,
typename I,
typename E>
1453template <
typename T,
typename I,
typename E>
1458 CopyinT<T, I, E>,
CopyprivateT<T, I, E>,
DefaultT<T, I, E>,
DepthT<T, I, E>,
1461 ExclusiveT<T, I, E>,
FailT<T, I, E>,
FilterT<T, I, E>,
FinalT<T, I, E>,
1467 OrderedT<T, I, E>,
PartialT<T, I, E>,
PriorityT<T, I, E>,
PrivateT<T, I, E>,
1469 SelfMapsT<T, I, E>,
SeverityT<T, I, E>,
SharedT<T, I, E>,
SimdlenT<T, I, E>,
1476template <
typename T,
typename I,
typename E>
1487using type::operator==;
1501template <
typename TypeType,
typename IdType,
typename ExprType,
1513 std::variant<Extras...>>
::type;
1521 llvm::omp::Directive
id = llvm::omp::Directive::OMPD_unknown;
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< OmpxAttributeT< T, I, E >, OmpxBareT< T, I, E >, OmpxDynCgroupMemT< T, I, E > > ExtensionClausesT
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 >, CombinerT< T, I, E >, ContainsT< T, I, E >, CopyinT< T, I, E >, CopyprivateT< T, I, E >, DefaultT< T, I, E >, DepthT< 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 >, UpdateDependObjectsT< T, I, E >, UseDeviceAddrT< T, I, E >, UseDevicePtrT< T, I, E >, UsesAllocatorsT< T, I, E > > WrapperClausesT
std::variant< DependT< T, I, E > > UnionClausesT
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 >, UpdateT< T, I, E >, UseT< T, I, E >, WeakT< T, I, E >, WriteT< T, I, E > > EmptyClausesT
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< AdjustArgsT< T, I, E >, AppendArgsT< T, I, E >, ApplyT< T, I, E >, CollectorT< T, I, E >, CountsT< T, I, E >, GraphIdT< T, I, E >, GraphResetT< T, I, E >, InductionT< T, I, E >, InductorT< T, I, E >, InitCompleteT< T, I, E >, InteropT< T, I, E >, LocalT< T, I, E >, MatchT< T, I, E >, MemscopeT< T, I, E >, OtherwiseT< T, I, E >, ReductionKindT< T, I, E >, ReplayableT< T, I, E >, SafesyncT< T, I, E >, ShiftT< T, I, E >, TransparentT< T, I, E >, WhenT< T, I, E > > IncompleteClausesT
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
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 IncompleteTrait
std::true_type WrapperTrait
ListT< type::StylizedInstanceT< I, E > > List
std::true_type EmptyTrait
ListT< type::DirectiveName > List
std::true_type WrapperTrait
std::true_type WrapperTrait
std::true_type WrapperTrait
std::true_type IncompleteTrait
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
ListT< type::LoopIterationT< I, E > > Vector
tomp::type::DependenceType DependenceType
std::tuple< DependenceType, OPT(Iterator), OPT(Vector), LocatorList > t
ObjectListT< I, E > LocatorList
std::true_type TupleTrait
type::IteratorT< T, I, E > Iterator
std::true_type WrapperTrait
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
ENUM(AccessGroup, Cgroup)
ENUM(Fallback, Abort, Default_Mem, Null)
std::true_type TupleTrait
std::tuple< OPT(AccessGroup), OPT(Fallback), Size > t
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
std::true_type IncompleteTrait
std::true_type IncompleteTrait
std::true_type IncompleteTrait
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
ListT< type::StylizedInstanceT< I, E > > List
std::true_type IncompleteTrait
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 IncompleteTrait
std::true_type TupleTrait
std::tuple< Begin, Count > 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 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
ListT< UpperBound > UpperBoundList
std::tuple< OPT(LowerBound), UpperBoundList > t
std::true_type TupleTrait
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 IncompleteTrait
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 IncompleteTrait
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 IncompleteTrait
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
tomp::type::DependenceType DependenceType
std::true_type WrapperTrait
std::true_type EmptyTrait
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, IntrinsicOperatorT< I, E > > u
std::true_type WrapperTrait
ENUM(Operator, 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< IntrinsicOperatorT< 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
ObjectListT< I, E > Variables
std::true_type TupleTrait
std::tuple< Variables, Instance > t
typename detail::UnionOfTwo< T, typename Union< Ts... >::type >::type type