Go to the documentation of this file.
10 #ifndef vtk_m_cont_ArrayPortalToIterators_h
11 #define vtk_m_cont_ArrayPortalToIterators_h
18 #include <vtkmstd/void_t.h>
25 template <
typename PortalType,
26 typename CustomIterators = vtkm::internal::PortalSupportsIterators<PortalType>>
41 template <
typename PortalType>
67 : Portal(std::move(rhs.Portal))
77 this->Portal = src.Portal;
84 this->Portal = std::move(rhs.Portal);
90 using IteratorType = vtkm::cont::internal::IteratorFromArrayPortal<PortalType>;
109 template <
typename PortalType>
113 using IteratorType = decltype(std::declval<PortalType>().GetIteratorBegin());
118 : Begin(portal.GetIteratorBegin())
119 , End(portal.GetIteratorEnd())
144 : Begin(std::move(rhs.Begin))
145 , End(std::move(rhs.End))
155 this->Begin = src.Begin;
163 this->Begin = std::move(rhs.Begin);
164 this->End = std::move(rhs.End);
176 template <
typename PortalType>
181 return iterators.GetBegin();
187 template <
typename PortalType>
192 return iterators.GetEnd();
197 #endif //vtk_m_cont_ArrayPortalToIterators_h
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT vtkm::cont::ArrayPortalToIterators< PortalType >::IteratorType ArrayPortalToIteratorBegin(const PortalType &portal)
Convenience function for converting an ArrayPortal to a begin iterator.
Definition: ArrayPortalToIterators.h:178
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT ~ArrayPortalToIterators()
Definition: ArrayPortalToIterators.h:150
Groups connected points that have the same field value.
Definition: Atomic.h:19
decltype(std::declval< PortalType >().GetIteratorBegin()) IteratorType
Definition: ArrayPortalToIterators.h:113
#define VTKM_EXEC_CONT
Definition: ExportMacros.h:52
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT vtkm::cont::ArrayPortalToIterators< PortalType >::IteratorType ArrayPortalToIteratorEnd(const PortalType &portal)
Convenience function for converting an ArrayPortal to an end iterator.
Definition: ArrayPortalToIterators.h:189
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT ArrayPortalToIterators(const PortalType &portal)
ArrayPortaltoIterators should be constructed with an instance of the array portal.
Definition: ArrayPortalToIterators.h:50
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT ArrayPortalToIterators & operator=(const ArrayPortalToIterators &src)
Definition: ArrayPortalToIterators.h:75
vtkm::cont::internal::IteratorFromArrayPortal< PortalType > IteratorType
The type of the iterator.
Definition: ArrayPortalToIterators.h:90
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT ArrayPortalToIterators & operator=(ArrayPortalToIterators &&rhs)
Definition: ArrayPortalToIterators.h:82
IteratorType Begin
Definition: ArrayPortalToIterators.h:169
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT IteratorType GetEnd() const
Returns an iterator pointing to one past the end of the ArrayPortal.
Definition: ArrayPortalToIterators.h:102
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT ArrayPortalToIterators(const ArrayPortalToIterators &src)
Definition: ArrayPortalToIterators.h:60
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT ~ArrayPortalToIterators()
Definition: ArrayPortalToIterators.h:72
PortalType Portal
Definition: ArrayPortalToIterators.h:105
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT ArrayPortalToIterators(const ArrayPortalToIterators &src)
Definition: ArrayPortalToIterators.h:136
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT ArrayPortalToIterators(const PortalType &portal)
Definition: ArrayPortalToIterators.h:117
Definition: ArrayPortalToIterators.h:27
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT ArrayPortalToIterators(ArrayPortalToIterators &&rhs)
Definition: ArrayPortalToIterators.h:143
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT IteratorType GetEnd() const
Definition: ArrayPortalToIterators.h:129
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT IteratorType GetBegin() const
Definition: ArrayPortalToIterators.h:125
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT IteratorType GetBegin() const
Returns an iterator pointing to the beginning of the ArrayPortal.
Definition: ArrayPortalToIterators.h:96
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT ArrayPortalToIterators(ArrayPortalToIterators &&rhs)
Definition: ArrayPortalToIterators.h:66
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT ArrayPortalToIterators & operator=(const ArrayPortalToIterators &src)
Definition: ArrayPortalToIterators.h:153
#define VTKM_SUPPRESS_EXEC_WARNINGS
Definition: ExportMacros.h:53
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT ArrayPortalToIterators & operator=(ArrayPortalToIterators &&rhs)
Definition: ArrayPortalToIterators.h:161
IteratorType End
Definition: ArrayPortalToIterators.h:170