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
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::cont::internal::IteratorFromArrayPortal< PortalType > IteratorType
The type of the iterator.
Definition: ArrayPortalToIterators.h:90
ArrayPortalToIterators(const ArrayPortalToIterators &src)
Definition: ArrayPortalToIterators.h:136
IteratorType Begin
Definition: ArrayPortalToIterators.h:169
ArrayPortalToIterators & operator=(ArrayPortalToIterators &&rhs)
Definition: ArrayPortalToIterators.h:161
vtkm::cont::ArrayPortalToIterators< PortalType >::IteratorType ArrayPortalToIteratorEnd(const PortalType &portal)
Convenience function for converting an ArrayPortal to an end iterator.
Definition: ArrayPortalToIterators.h:189
IteratorType GetEnd() const
Returns an iterator pointing to one past the end of the ArrayPortal.
Definition: ArrayPortalToIterators.h:102
ArrayPortalToIterators & operator=(ArrayPortalToIterators &&rhs)
Definition: ArrayPortalToIterators.h:82
PortalType Portal
Definition: ArrayPortalToIterators.h:105
ArrayPortalToIterators(const PortalType &portal)
ArrayPortaltoIterators should be constructed with an instance of the array portal.
Definition: ArrayPortalToIterators.h:50
Definition: ArrayPortalToIterators.h:27
~ArrayPortalToIterators()
Definition: ArrayPortalToIterators.h:150
ArrayPortalToIterators(const ArrayPortalToIterators &src)
Definition: ArrayPortalToIterators.h:60
IteratorType GetBegin() const
Returns an iterator pointing to the beginning of the ArrayPortal.
Definition: ArrayPortalToIterators.h:96
~ArrayPortalToIterators()
Definition: ArrayPortalToIterators.h:72
ArrayPortalToIterators(const PortalType &portal)
Definition: ArrayPortalToIterators.h:117
ArrayPortalToIterators & operator=(const ArrayPortalToIterators &src)
Definition: ArrayPortalToIterators.h:75
vtkm::cont::ArrayPortalToIterators< PortalType >::IteratorType ArrayPortalToIteratorBegin(const PortalType &portal)
Convenience function for converting an ArrayPortal to a begin iterator.
Definition: ArrayPortalToIterators.h:178
ArrayPortalToIterators(ArrayPortalToIterators &&rhs)
Definition: ArrayPortalToIterators.h:66
ArrayPortalToIterators(ArrayPortalToIterators &&rhs)
Definition: ArrayPortalToIterators.h:143
IteratorType GetBegin() const
Definition: ArrayPortalToIterators.h:125
ArrayPortalToIterators & operator=(const ArrayPortalToIterators &src)
Definition: ArrayPortalToIterators.h:153
IteratorType GetEnd() const
Definition: ArrayPortalToIterators.h:129
#define VTKM_SUPPRESS_EXEC_WARNINGS
Definition: ExportMacros.h:53
IteratorType End
Definition: ArrayPortalToIterators.h:170