vtk-m/vtkm/exec
Allison Vacanti 813f5a422f Fixup custom portal iterator logic.
The convenience functions `ArrayPortalToIteratorBegin()` and
`ArrayPortalToIteratorEnd()` wouldn't detect specializations of
`ArrayPortalToIterators<PortalType>` since the specializations aren't
visible when the `Begin`/`End` functions are declared.

Since the CUDA iterators rely on a specialization, the convenience
functions would not compile on CUDA.

Now, instead of specializing `ArrayPortalToIterators` to provide custom
iterators for a particular portal, the portal may advertise custom
iterators by defining `IteratorType`, `GetIteratorBegin()`, and
`GetIteratorEnd()`. `ArrayPortalToIterators` will detect such portals
and automatically switch to using the specialized portals.

This eliminates the need for the specializations to be visible to the
convenience functions and allows them to be usable on CUDA.
2019-12-17 15:39:51 -05:00
..
arg Merge topic 'simple-list-template' 2019-12-11 09:43:22 -05:00
cuda Fixup custom portal iterator logic. 2019-12-17 15:39:51 -05:00
internal Another round of simplifications to FunctionInterface 2019-12-04 14:02:44 -05:00
openmp Label tests which exercise a given Device Adapter 2019-09-13 15:52:40 -04:00
serial Use C++11 attributes for VTKM_ALWAYS/NEVER_EXPORT 2019-12-05 13:55:54 -05:00
tbb Label tests which exercise a given Device Adapter 2019-09-13 15:52:40 -04:00
testing Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
AtomicArrayExecutionObject.h Remove instances of ListTag in favor of List 2019-12-06 21:32:36 -07:00
BoundaryState.h Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
CellDerivative.h Switch from VTK-c to LCL 2019-10-07 15:38:36 -04:00
CellEdge.h Specialized cases for cell-edge functions on polylines. 2019-05-29 09:53:09 -04:00
CellFace.h Support for polylines. 2019-05-17 13:35:35 -04:00
CellInside.h Switch from VTK-c to LCL 2019-10-07 15:38:36 -04:00
CellInterpolate.h Switch from VTK-c to LCL 2019-10-07 15:38:36 -04:00
CellLocator.h Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
CellLocatorBoundingIntervalHierarchyExec.h Refactor topology mappings to clarify meaning. 2019-08-06 11:27:26 -04:00
CellLocatorRectilinearGrid.h Fixing unreachable statement nvcc warning 2019-08-08 09:41:44 -07:00
CellLocatorUniformGrid.h Fixing issues raised by Ken on Gitlab 2019-08-08 09:15:28 -07:00
CellMeasure.h conslidate the license statement 2019-04-17 10:57:13 -06:00
CMakeLists.txt Merge topic 'use-vtkc' 2019-09-25 09:21:00 -04:00
ColorTable.h conslidate the license statement 2019-04-17 10:57:13 -06:00
ColorTable.hxx conslidate the license statement 2019-04-17 10:57:13 -06:00
ConnectivityExplicit.h Refactor CellSetExplicit to remove NumIndices. 2019-09-30 12:27:13 -04:00
ConnectivityExtrude.h Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
ConnectivityPermuted.h Correct warnings found by GCC 9.2 2019-12-02 09:33:35 -05:00
ConnectivityStructured.h Correct warnings found by GCC 9.2 2019-12-02 09:33:35 -05:00
ExecutionWholeArray.h conslidate the license statement 2019-04-17 10:57:13 -06:00
FieldNeighborhood.h Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
FunctorBase.h Always export VTK-m functor symbols 2019-08-01 12:53:54 -04:00
ParametricCoordinates.h Switch from VTK-c to LCL 2019-10-07 15:38:36 -04:00
PointLocator.h Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
PointLocatorUniformGrid.h Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
TaskBase.h conslidate the license statement 2019-04-17 10:57:13 -06:00