From 94b85dabb3ff1a488a41e41907423ee5b0c23da3 Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Tue, 12 Nov 2013 23:54:05 +0100 Subject: update 2geom : sbasis.h, improves iterators, helps compilation with C++11 (bzr r12803) --- src/2geom/sbasis.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/2geom/sbasis.h b/src/2geom/sbasis.h index e201f16ec..ca864ac7c 100644 --- a/src/2geom/sbasis.h +++ b/src/2geom/sbasis.h @@ -74,14 +74,16 @@ class SBasis{ public: // As part of our migration away from SBasis isa vector we provide this minimal set of vector interface methods. size_t size() const {return d.size();} + typedef std::vector::iterator iterator; + typedef std::vector::const_iterator const_iterator; Linear operator[](unsigned i) const { return d[i]; } Linear& operator[](unsigned i) { return d.at(i); } - Linear const* begin() const { return (Linear const*)&*d.begin();} - Linear const* end() const { return (Linear const*)&*d.end();} - Linear* begin() { return (Linear*)&*d.begin();} - Linear* end() { return (Linear*)&*d.end();} + const_iterator begin() const { return d.begin();} + const_iterator end() const { return d.end();} + iterator begin() { return d.begin();} + iterator end() { return d.end();} bool empty() const {return d.empty();} Linear &back() {return d.back();} Linear const &back() const {return d.back();} @@ -90,8 +92,7 @@ public: void resize(unsigned n, Linear const& l) { d.resize(n, l);} void reserve(unsigned n) { d.reserve(n);} void clear() {d.clear();} - void insert(Linear* before, const Linear* src_begin, const Linear* src_end) { d.insert(std::vector::iterator(before), src_begin, src_end);} - //void insert(Linear* aa, Linear* bb, Linear* cc} { d.insert(aa, bb, cc);} + void insert(iterator before, const_iterator src_begin, const_iterator src_end) { d.insert(before, src_begin, src_end);} Linear& at(unsigned i) { return d.at(i);} //void insert(Linear* before, int& n, Linear const &l) { d.insert(std::vector::iterator(before), n, l);} bool operator==(SBasis const&B) const { return d == B.d;} -- cgit v1.2.3