Go to the documentation of this file.
18 #ifndef viskores_cont_ArrayPortalToIterators_h
19 #define viskores_cont_ArrayPortalToIterators_h
26 #include <viskoresstd/void_t.h>
33 template <
typename PortalType,
34 typename CustomIterators = viskores::internal::PortalSupportsIterators<PortalType>>
49 template <
typename PortalType>
75 : Portal(std::move(rhs.Portal))
85 this->Portal = src.Portal;
92 this->Portal = std::move(rhs.Portal);
98 using IteratorType = viskores::cont::internal::IteratorFromArrayPortal<PortalType>;
106 return viskores::cont::internal::make_IteratorBegin(this->Portal);
120 template <
typename PortalType>
124 using IteratorType = decltype(std::declval<PortalType>().GetIteratorBegin());
129 : Begin(portal.GetIteratorBegin())
130 , End(portal.GetIteratorEnd())
155 : Begin(std::move(rhs.Begin))
156 , End(std::move(rhs.End))
166 this->Begin = src.Begin;
174 this->Begin = std::move(rhs.Begin);
175 this->End = std::move(rhs.End);
187 template <
typename PortalType>
192 return iterators.GetBegin();
198 template <
typename PortalType>
203 return iterators.GetEnd();
208 #endif //viskores_cont_ArrayPortalToIterators_h
ArrayPortalToIterators(ArrayPortalToIterators &&rhs)
Definition: ArrayPortalToIterators.h:74
ArrayPortalToIterators(const ArrayPortalToIterators &src)
Definition: ArrayPortalToIterators.h:68
IteratorType GetEnd() const
Definition: ArrayPortalToIterators.h:140
ArrayPortalToIterators(const ArrayPortalToIterators &src)
Definition: ArrayPortalToIterators.h:147
IteratorType Begin
Definition: ArrayPortalToIterators.h:180
ArrayPortalToIterators & operator=(ArrayPortalToIterators &&rhs)
Definition: ArrayPortalToIterators.h:172
#define VISKORES_SUPPRESS_EXEC_WARNINGS
Definition: ExportMacros.h:61
~ArrayPortalToIterators()
Definition: ArrayPortalToIterators.h:161
viskores::cont::internal::IteratorFromArrayPortal< PortalType > IteratorType
The type of the iterator.
Definition: ArrayPortalToIterators.h:98
ArrayPortalToIterators(const PortalType &portal)
Definition: ArrayPortalToIterators.h:128
viskores::cont::ArrayPortalToIterators< PortalType >::IteratorType ArrayPortalToIteratorEnd(const PortalType &portal)
Convenience function for converting an ArrayPortal to an end iterator.
Definition: ArrayPortalToIterators.h:200
#define VISKORES_EXEC_CONT
Definition: ExportMacros.h:60
IteratorType GetEnd() const
Returns an iterator pointing to one past the end of the ArrayPortal.
Definition: ArrayPortalToIterators.h:113
Groups connected points that have the same field value.
Definition: Atomic.h:27
IteratorType End
Definition: ArrayPortalToIterators.h:181
~ArrayPortalToIterators()
Definition: ArrayPortalToIterators.h:80
viskores::cont::ArrayPortalToIterators< PortalType >::IteratorType ArrayPortalToIteratorBegin(const PortalType &portal)
Convenience function for converting an ArrayPortal to a begin iterator.
Definition: ArrayPortalToIterators.h:189
IteratorType GetBegin() const
Definition: ArrayPortalToIterators.h:136
Definition: ArrayPortalToIterators.h:35
IteratorType GetBegin() const
Returns an iterator pointing to the beginning of the ArrayPortal.
Definition: ArrayPortalToIterators.h:104
ArrayPortalToIterators(ArrayPortalToIterators &&rhs)
Definition: ArrayPortalToIterators.h:154
ArrayPortalToIterators & operator=(ArrayPortalToIterators &&rhs)
Definition: ArrayPortalToIterators.h:90
ArrayPortalToIterators & operator=(const ArrayPortalToIterators &src)
Definition: ArrayPortalToIterators.h:164
decltype(std::declval< PortalType >().GetIteratorBegin()) IteratorType
Definition: ArrayPortalToIterators.h:124
ArrayPortalToIterators(const PortalType &portal)
ArrayPortaltoIterators should be constructed with an instance of the array portal.
Definition: ArrayPortalToIterators.h:58
PortalType Portal
Definition: ArrayPortalToIterators.h:116
ArrayPortalToIterators & operator=(const ArrayPortalToIterators &src)
Definition: ArrayPortalToIterators.h:83