Lines Matching +full:2 +full:e
16 // - a variant (i.e. union) of values, named `u`.
169 // // (2) bool(a.id()) == false and bool(b.id()) == false
184 template <typename I, typename E>
185 bool operator==(const ObjectT<I, E> &o1, const ObjectT<I, E> &o2) {
189 template <typename I, typename E> using ObjectListT = ListT<ObjectT<I, E>>;
193 template <typename I, typename E> //
197 ObjectT<I, E> v;
205 // V5.2: [3.2.6] `iterator` modifier
206 template <typename E> //
210 std::tuple<E, E, OPT(E)> t;
213 // V5.2: [3.2.6] `iterator` modifier
229 // V5.2: [5.8.2] Mapper identifiers and `mapper` modifiers
230 template <typename I, typename E> //
232 using MapperIdentifier = ObjectT<I, E>;
237 // V5.2: [15.8.1] `memory-order` clauses
238 // When used as arguments for other clauses, e.g. `fail`.
241 // V5.2: [15.9.1] `task-dependence-type` modifier
244 template <typename I, typename E> //
248 std::tuple<DefinedOperatorT<I, E>, E> t;
251 std::tuple<ObjectT<I, E>, OPT(Distance)> t;
254 template <typename I, typename E> //
257 ObjectT<I, E> v;
267 template <typename I, typename E> //
270 std::variant<DefinedOperatorT<I, E>, ProcedureDesignatorT<I, E>> u;
273 template <typename T, typename I, typename E> //
274 using IteratorT = ListT<IteratorSpecifierT<T, I, E>>;
305 template <typename I, typename E> using ObjectT = type::ObjectT<I, E>;
306 template <typename I, typename E> using ObjectListT = type::ObjectListT<I, E>;
308 template <typename T, typename I, typename E>
309 using IteratorT = type::IteratorT<T, I, E>;
324 // V5.2: [8.3.1] `assumption` clauses
325 template <typename T, typename I, typename E> //
332 // V5.2: [15.8.1] `memory-order` clauses
333 template <typename T, typename I, typename E> //
338 // V5.2: [15.8.1] `memory-order` clauses
339 template <typename T, typename I, typename E> //
344 // V5.2: [7.5.2] `adjust_args` clause
345 template <typename T, typename I, typename E> //
350 // V5.2: [12.5.1] `affinity` clause
351 template <typename T, typename I, typename E> //
353 using Iterator = type::IteratorT<T, I, E>;
354 using LocatorList = ObjectListT<I, E>;
360 // V5.2: [6.3] `align` clause
361 template <typename T, typename I, typename E> //
363 using Alignment = E;
369 // V5.2: [5.11] `aligned` clause
370 template <typename T, typename I, typename E> //
372 using Alignment = E;
373 using List = ObjectListT<I, E>;
379 template <typename T, typename I, typename E> //
382 // V5.2: [6.6] `allocate` clause
383 template <typename T, typename I, typename E> //
385 using AllocatorSimpleModifier = E;
386 using AllocatorComplexModifier = AllocatorT<T, I, E>;
387 using AlignModifier = AlignT<T, I, E>;
388 using List = ObjectListT<I, E>;
396 // V5.2: [6.4] `allocator` clause
397 template <typename T, typename I, typename E> //
399 using Allocator = E;
404 // V5.2: [7.5.3] `append_args` clause
405 template <typename T, typename I, typename E> //
410 // V5.2: [8.1] `at` clause
411 template <typename T, typename I, typename E> //
418 // V5.2: [8.2.1] `requirement` clauses
419 template <typename T, typename I, typename E> //
426 // V5.2: [11.7.1] `bind` clause
427 template <typename T, typename I, typename E> //
434 // V5.2: [15.8.3] `extended-atomic` clauses
435 template <typename T, typename I, typename E> //
440 // V5.2: [4.4.3] `collapse` clause
441 template <typename T, typename I, typename E> //
443 using N = E;
448 // V5.2: [15.8.3] `extended-atomic` clauses
449 template <typename T, typename I, typename E> //
454 // V5.2: [8.3.1] `assumption` clauses
455 template <typename T, typename I, typename E> //
462 // V5.2: [5.7.1] `copyin` clause
463 template <typename T, typename I, typename E> //
465 using List = ObjectListT<I, E>;
470 // V5.2: [5.7.2] `copyprivate` clause
471 template <typename T, typename I, typename E> //
473 using List = ObjectListT<I, E>;
478 // V5.2: [5.4.1] `default` clause
479 template <typename T, typename I, typename E> //
486 // V5.2: [5.8.7] `defaultmap` clause
487 template <typename T, typename I, typename E> //
496 template <typename T, typename I, typename E> //
499 // V5.2: [15.9.5] `depend` clause
500 template <typename T, typename I, typename E> //
502 using Iterator = type::IteratorT<T, I, E>;
503 using LocatorList = ObjectListT<I, E>;
512 using Doacross = DoacrossT<T, I, E>;
517 // V5.2: [3.5] `destroy` clause
518 template <typename T, typename I, typename E> //
520 using DestroyVar = ObjectT<I, E>;
526 // V5.2: [12.5.2] `detach` clause
527 template <typename T, typename I, typename E> //
529 using EventHandle = ObjectT<I, E>;
534 // V5.2: [13.2] `device` clause
535 template <typename T, typename I, typename E> //
537 using DeviceDescription = E;
543 // V5.2: [13.1] `device_type` clause
544 template <typename T, typename I, typename E> //
551 // V5.2: [11.6.1] `dist_schedule` clause
552 template <typename T, typename I, typename E> //
555 using ChunkSize = E;
560 // V5.2: [15.9.6] `doacross` clause
561 template <typename T, typename I, typename E> //
563 using Vector = ListT<type::LoopIterationT<I, E>>;
570 // V5.2: [8.2.1] `requirement` clauses
571 template <typename T, typename I, typename E> //
576 // V5.2: [5.8.4] `enter` clause
577 template <typename T, typename I, typename E> //
579 using List = ObjectListT<I, E>;
584 // V5.2: [5.6.2] `exclusive` clause
585 template <typename T, typename I, typename E> //
588 using List = ObjectListT<I, E>;
592 // V5.2: [15.8.3] `extended-atomic` clauses
593 template <typename T, typename I, typename E> //
600 // V5.2: [10.5.1] `filter` clause
601 template <typename T, typename I, typename E> //
603 using ThreadNum = E;
608 // V5.2: [12.3] `final` clause
609 template <typename T, typename I, typename E> //
611 using Finalize = E;
616 // V5.2: [5.4.4] `firstprivate` clause
617 template <typename T, typename I, typename E> //
619 using List = ObjectListT<I, E>;
624 // V5.2: [5.9.2] `from` clause
625 template <typename T, typename I, typename E> //
627 using LocatorList = ObjectListT<I, E>;
629 using Iterator = type::IteratorT<T, I, E>;
631 using Mappers = ListT<type::MapperT<I, E>>; // Not a spec name
637 // V5.2: [9.2.1] `full` clause
638 template <typename T, typename I, typename E> //
643 // V5.2: [12.6.1] `grainsize` clause
644 template <typename T, typename I, typename E> //
647 using GrainSize = E;
652 // V5.2: [5.4.9] `has_device_addr` clause
653 template <typename T, typename I, typename E> //
655 using List = ObjectListT<I, E>;
660 // V5.2: [15.1.2] `hint` clause
661 template <typename T, typename I, typename E> //
663 using HintExpr = E;
668 // V5.2: [8.3.1] Assumption clauses
669 template <typename T, typename I, typename E> //
672 E v; // No argument name in spec 5.2
675 // V5.2: [3.4] `if` clause
676 template <typename T, typename I, typename E> //
679 using IfExpression = E;
684 // V5.2: [7.7.1] `branch` clauses
685 template <typename T, typename I, typename E> //
690 // V5.2: [5.6.1] `exclusive` clause
691 template <typename T, typename I, typename E> //
693 using List = ObjectListT<I, E>;
698 // V5.2: [7.8.3] `indirect` clause
699 template <typename T, typename I, typename E> //
701 using InvokedByFptr = E;
706 // V5.2: [14.1.2] `init` clause
707 template <typename T, typename I, typename E> //
709 using ForeignRuntimeId = E;
710 using InteropVar = ObjectT<I, E>;
719 // V5.2: [5.5.4] `initializer` clause
720 template <typename T, typename I, typename E> //
722 using InitializerExpr = E;
727 // V5.2: [5.5.10] `in_reduction` clause
728 template <typename T, typename I, typename E> //
730 using List = ObjectListT<I, E>;
733 using ReductionIdentifiers = ListT<type::ReductionIdentifierT<I, E>>;
738 // V5.2: [5.4.7] `is_device_ptr` clause
739 template <typename T, typename I, typename E> //
741 using List = ObjectListT<I, E>;
746 // V5.2: [5.4.5] `lastprivate` clause
747 template <typename T, typename I, typename E> //
749 using List = ObjectListT<I, E>;
755 // V5.2: [5.4.6] `linear` clause
756 template <typename T, typename I, typename E> //
759 using List = ObjectListT<I, E>;
760 using StepSimpleModifier = E;
761 using StepComplexModifier = E;
771 // V5.2: [5.8.5] `link` clause
772 template <typename T, typename I, typename E> //
774 using List = ObjectListT<I, E>;
779 // V5.2: [5.8.3] `map` clause
780 template <typename T, typename I, typename E> //
782 using LocatorList = ObjectListT<I, E>;
786 using Mappers = ListT<type::MapperT<I, E>>; // Not a spec name
787 using Iterator = type::IteratorT<T, I, E>;
796 // V5.2: [7.5.1] `match` clause
797 template <typename T, typename I, typename E> //
802 // V5.2: [12.2] `mergeable` clause
803 template <typename T, typename I, typename E> //
808 // V5.2: [8.5.2] `message` clause
809 template <typename T, typename I, typename E> //
811 using MsgString = E;
816 // V5.2: [7.6.2] `nocontext` clause
817 template <typename T, typename I, typename E> //
819 using DoNotUpdateContext = E;
824 // V5.2: [15.7] `nowait` clause
825 template <typename T, typename I, typename E> //
830 // V5.2: [10.4.1] `nontemporal` clause
831 template <typename T, typename I, typename E> //
833 using List = ObjectListT<I, E>;
838 // V5.2: [8.3.1] `assumption` clauses
839 template <typename T, typename I, typename E> //
844 // V5.2: [8.3.1] `assumption` clauses
845 template <typename T, typename I, typename E> //
850 // V5.2: [8.3.1] `assumption` clauses
851 template <typename T, typename I, typename E> //
856 // V5.2: [7.7.1] `branch` clauses
857 template <typename T, typename I, typename E> //
862 // V5.2: [7.6.1] `novariants` clause
863 template <typename T, typename I, typename E> //
865 using DoNotUseVariant = E;
870 // V5.2: [15.6] `nowait` clause
871 template <typename T, typename I, typename E> //
876 // V5.2: [12.6.2] `num_tasks` clause
877 template <typename T, typename I, typename E> //
879 using NumTasks = E;
885 // V5.2: [10.2.1] `num_teams` clause
886 template <typename T, typename I, typename E> //
889 using LowerBound = E;
890 using UpperBound = E;
894 // V5.2: [10.1.2] `num_threads` clause
895 template <typename T, typename I, typename E> //
897 using Nthreads = E;
902 template <typename T, typename I, typename E> //
907 template <typename T, typename I, typename E> //
912 template <typename T, typename I, typename E> //
915 E v;
918 // V5.2: [10.3] `order` clause
919 template <typename T, typename I, typename E> //
927 // V5.2: [4.4.4] `ordered` clause
928 template <typename T, typename I, typename E> //
930 using N = E;
935 // V5.2: [7.4.2] `otherwise` clause
936 template <typename T, typename I, typename E> //
941 // V5.2: [9.2.2] `partial` clause
942 template <typename T, typename I, typename E> //
944 using UnrollFactor = E;
949 // V5.2: [12.4] `priority` clause
950 template <typename T, typename I, typename E> //
952 using PriorityValue = E;
957 // V5.2: [5.4.3] `private` clause
958 template <typename T, typename I, typename E> //
960 using List = ObjectListT<I, E>;
965 // V5.2: [10.1.4] `proc_bind` clause
966 template <typename T, typename I, typename E> //
973 // V5.2: [15.8.2] Atomic clauses
974 template <typename T, typename I, typename E> //
979 // V5.2: [5.5.8] `reduction` clause
980 template <typename T, typename I, typename E> //
982 using List = ObjectListT<I, E>;
985 using ReductionIdentifiers = ListT<type::ReductionIdentifierT<I, E>>;
991 // V5.2: [15.8.1] `memory-order` clauses
992 template <typename T, typename I, typename E> //
997 // V5.2: [15.8.1] `memory-order` clauses
998 template <typename T, typename I, typename E> //
1003 // V5.2: [8.2.1] `requirement` clauses
1004 template <typename T, typename I, typename E> //
1009 // V5.2: [10.4.2] `safelen` clause
1010 template <typename T, typename I, typename E> //
1012 using Length = E;
1017 // V5.2: [11.5.3] `schedule` clause
1018 template <typename T, typename I, typename E> //
1021 using ChunkSize = E;
1028 // V5.2: [15.8.1] Memory-order clauses
1029 template <typename T, typename I, typename E> //
1034 // V5.2: [8.5.1] `severity` clause
1035 template <typename T, typename I, typename E> //
1042 // V5.2: [5.4.2] `shared` clause
1043 template <typename T, typename I, typename E> //
1045 using List = ObjectListT<I, E>;
1050 // V5.2: [15.10.3] `parallelization-level` clauses
1051 template <typename T, typename I, typename E> //
1056 // V5.2: [10.4.3] `simdlen` clause
1057 template <typename T, typename I, typename E> //
1059 using Length = E;
1064 // V5.2: [9.1.1] `sizes` clause
1065 template <typename T, typename I, typename E> //
1067 using SizeList = ListT<E>;
1072 // V5.2: [5.5.9] `task_reduction` clause
1073 template <typename T, typename I, typename E> //
1075 using List = ObjectListT<I, E>;
1078 using ReductionIdentifiers = ListT<type::ReductionIdentifierT<I, E>>;
1083 // V5.2: [13.3] `thread_limit` clause
1084 template <typename T, typename I, typename E> //
1086 using Threadlim = E;
1091 // V5.2: [15.10.3] `parallelization-level` clauses
1092 template <typename T, typename I, typename E> //
1097 // V5.2: [5.9.1] `to` clause
1098 template <typename T, typename I, typename E> //
1100 using LocatorList = ObjectListT<I, E>;
1103 using Mappers = ListT<type::MapperT<I, E>>; // Not a spec name
1104 using Iterator = type::IteratorT<T, I, E>;
1110 // V5.2: [8.2.1] `requirement` clauses
1111 template <typename T, typename I, typename E> //
1116 // V5.2: [8.2.1] `requirement` clauses
1117 template <typename T, typename I, typename E> //
1122 // V5.2: [5.10] `uniform` clause
1123 template <typename T, typename I, typename E> //
1125 using ParameterList = ObjectListT<I, E>;
1130 template <typename T, typename I, typename E> //
1135 // V5.2: [12.1] `untied` clause
1136 template <typename T, typename I, typename E> //
1142 // V5.2: [15.8.2] `atomic` clauses
1143 // V5.2: [15.9.3] `update` clause
1144 template <typename T, typename I, typename E> //
1151 // V5.2: [14.1.3] `use` clause
1152 template <typename T, typename I, typename E> //
1154 using InteropVar = ObjectT<I, E>;
1159 // V5.2: [5.4.10] `use_device_addr` clause
1160 template <typename T, typename I, typename E> //
1162 using List = ObjectListT<I, E>;
1167 // V5.2: [5.4.8] `use_device_ptr` clause
1168 template <typename T, typename I, typename E> //
1170 using List = ObjectListT<I, E>;
1175 // V5.2: [6.8] `uses_allocators` clause
1176 template <typename T, typename I, typename E> //
1178 using MemSpace = E;
1179 using TraitsArray = ObjectT<I, E>;
1180 using Allocator = E;
1190 // V5.2: [15.8.3] `extended-atomic` clauses
1191 template <typename T, typename I, typename E> //
1196 // V5.2: [7.4.1] `when` clause
1197 template <typename T, typename I, typename E> //
1202 // V5.2: [15.8.2] Atomic clauses
1203 template <typename T, typename I, typename E> //
1210 template <typename T, typename I, typename E>
1212 std::variant<OmpxAttributeT<T, I, E>, OmpxBareT<T, I, E>,
1213 OmpxDynCgroupMemT<T, I, E>>;
1215 template <typename T, typename I, typename E>
1217 AcqRelT<T, I, E>, AcquireT<T, I, E>, CaptureT<T, I, E>, CompareT<T, I, E>,
1218 DynamicAllocatorsT<T, I, E>, FullT<T, I, E>, InbranchT<T, I, E>,
1219 MergeableT<T, I, E>, NogroupT<T, I, E>, NoOpenmpRoutinesT<T, I, E>,
1220 NoOpenmpT<T, I, E>, NoParallelismT<T, I, E>, NotinbranchT<T, I, E>,
1221 NowaitT<T, I, E>, ReadT<T, I, E>, RelaxedT<T, I, E>, ReleaseT<T, I, E>,
1222 ReverseOffloadT<T, I, E>, SeqCstT<T, I, E>, SimdT<T, I, E>,
1223 ThreadsT<T, I, E>, UnifiedAddressT<T, I, E>, UnifiedSharedMemoryT<T, I, E>,
1224 UnknownT<T, I, E>, UntiedT<T, I, E>, UseT<T, I, E>, WeakT<T, I, E>,
1225 WriteT<T, I, E>>;
1227 template <typename T, typename I, typename E>
1229 std::variant<AdjustArgsT<T, I, E>, AppendArgsT<T, I, E>, MatchT<T, I, E>,
1230 OtherwiseT<T, I, E>, WhenT<T, I, E>>;
1232 template <typename T, typename I, typename E>
1234 std::variant<AffinityT<T, I, E>, AlignedT<T, I, E>, AllocateT<T, I, E>,
1235 DefaultmapT<T, I, E>, DeviceT<T, I, E>, DistScheduleT<T, I, E>,
1236 DoacrossT<T, I, E>, FromT<T, I, E>, GrainsizeT<T, I, E>,
1237 IfT<T, I, E>, InitT<T, I, E>, InReductionT<T, I, E>,
1238 LastprivateT<T, I, E>, LinearT<T, I, E>, MapT<T, I, E>,
1239 NumTasksT<T, I, E>, OrderT<T, I, E>, ReductionT<T, I, E>,
1240 ScheduleT<T, I, E>, TaskReductionT<T, I, E>, ToT<T, I, E>>;
1242 template <typename T, typename I, typename E>
1243 using UnionClausesT = std::variant<DependT<T, I, E>>;
1245 template <typename T, typename I, typename E>
1247 AbsentT<T, I, E>, AlignT<T, I, E>, AllocatorT<T, I, E>,
1248 AtomicDefaultMemOrderT<T, I, E>, AtT<T, I, E>, BindT<T, I, E>,
1249 CollapseT<T, I, E>, ContainsT<T, I, E>, CopyinT<T, I, E>,
1250 CopyprivateT<T, I, E>, DefaultT<T, I, E>, DestroyT<T, I, E>,
1251 DetachT<T, I, E>, DeviceTypeT<T, I, E>, EnterT<T, I, E>,
1252 ExclusiveT<T, I, E>, FailT<T, I, E>, FilterT<T, I, E>, FinalT<T, I, E>,
1253 FirstprivateT<T, I, E>, HasDeviceAddrT<T, I, E>, HintT<T, I, E>,
1254 HoldsT<T, I, E>, InclusiveT<T, I, E>, IndirectT<T, I, E>,
1255 InitializerT<T, I, E>, IsDevicePtrT<T, I, E>, LinkT<T, I, E>,
1256 MessageT<T, I, E>, NocontextT<T, I, E>, NontemporalT<T, I, E>,
1257 NovariantsT<T, I, E>, NumTeamsT<T, I, E>, NumThreadsT<T, I, E>,
1258 OrderedT<T, I, E>, PartialT<T, I, E>, PriorityT<T, I, E>, PrivateT<T, I, E>,
1259 ProcBindT<T, I, E>, SafelenT<T, I, E>, SeverityT<T, I, E>, SharedT<T, I, E>,
1260 SimdlenT<T, I, E>, SizesT<T, I, E>, ThreadLimitT<T, I, E>,
1261 UniformT<T, I, E>, UpdateT<T, I, E>, UseDeviceAddrT<T, I, E>,
1262 UseDevicePtrT<T, I, E>, UsesAllocatorsT<T, I, E>>;
1264 template <typename T, typename I, typename E>
1266 EmptyClausesT<T, I, E>, //
1267 ExtensionClausesT<T, I, E>, //
1268 IncompleteClausesT<T, I, E>, //
1269 TupleClausesT<T, I, E>, //
1270 UnionClausesT<T, I, E>, //
1271 WrapperClausesT<T, I, E> //
1279 // to the clause set, e.g.