From 5b96d435c76f962d4f06613b1c7dec1a9a8574a3 Mon Sep 17 00:00:00 2001 From: Robert Maynard Date: Wed, 10 Jun 2015 08:58:11 -0400 Subject: [PATCH] Give IteratorFromArrayPortalValue class a less operator. This is required so that they can be sorted, which happens when sorting an ArrayHandleZip. --- vtkm/cont/internal/IteratorFromArrayPortal.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/vtkm/cont/internal/IteratorFromArrayPortal.h b/vtkm/cont/internal/IteratorFromArrayPortal.h index 3d7112125..13a4ce8ee 100644 --- a/vtkm/cont/internal/IteratorFromArrayPortal.h +++ b/vtkm/cont/internal/IteratorFromArrayPortal.h @@ -66,6 +66,13 @@ struct IteratorFromArrayPortalValue return value; } + VTKM_CONT_EXPORT + bool operator<(const ValueType& value) const + { + return this->Portal.Get(this->Index) < value; + } + + VTKM_CONT_EXPORT operator ValueType(void) const { @@ -100,7 +107,7 @@ public: operator[](std::size_t idx) const { return detail::IteratorFromArrayPortalValue(this->Portal, - static_cast(idx) ); + this->Index + static_cast(idx) ); } private: