diff options
author | Moritz Pflanzer <moritz.pflanzer@arm.com> | 2017-07-19 10:02:07 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-09-17 14:16:42 +0100 |
commit | fce87954ac2373e910ccb0d83a00f5958ba41e71 (patch) | |
tree | af43642ad65c0262d260dcc5c019e7d59539b2de /framework/datasets/CartesianProductDataset.h | |
parent | c87fbf8106bea3e0dc7232afb91df6a9ddb25040 (diff) | |
download | ComputeLibrary-fce87954ac2373e910ccb0d83a00f5958ba41e71.tar.gz |
COMPMID-415: Allow lvalues when using dataset::combine
Change-Id: I6d7750d6ad0c8100da48e7717304346c1aa92c80
Reviewed-on: http://mpd-gerrit.cambridge.arm.com/80996
Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'framework/datasets/CartesianProductDataset.h')
-rw-r--r-- | framework/datasets/CartesianProductDataset.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/framework/datasets/CartesianProductDataset.h b/framework/datasets/CartesianProductDataset.h index e03a45da1f..f6e45ddc12 100644 --- a/framework/datasets/CartesianProductDataset.h +++ b/framework/datasets/CartesianProductDataset.h @@ -47,8 +47,10 @@ template <typename T, typename U> class CartesianProductDataset : public Dataset { private: - using iter1_type = typename T::iterator; - using iter2_type = typename U::iterator; + using T_noref = typename std::remove_reference<T>::type; + using U_noref = typename std::remove_reference<U>::type; + using iter1_type = typename T_noref::iterator; + using iter2_type = typename U_noref::iterator; public: /** Construct dataset from the given datasets. @@ -70,7 +72,7 @@ public: /** Iterator for the dataset. */ struct iterator { - iterator(const T *dataset1, const U *dataset2) + iterator(const T_noref *dataset1, const U_noref *dataset2) : _iter1{ dataset1->begin() }, _dataset2{ dataset2 }, _iter2{ dataset2->begin() } @@ -114,11 +116,11 @@ public: } private: - iter1_type _iter1; - const U *_dataset2; - iter2_type _iter2; - int _first_pos{ 0 }; - int _second_pos{ 0 }; + iter1_type _iter1; + const U_noref *_dataset2; + iter2_type _iter2; + int _first_pos{ 0 }; + int _second_pos{ 0 }; }; /** Iterator pointing at the begin of the dataset. |