From 0276cf579ae05caa129b935e83e3f1a9f8364c34 Mon Sep 17 00:00:00 2001 From: DennisOSRM Date: Mon, 23 Jul 2012 16:12:22 +0200 Subject: [PATCH] Marking default constructor in iterator as private --- DataStructures/DeallocatingVector.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/DataStructures/DeallocatingVector.h b/DataStructures/DeallocatingVector.h index c1578ce50..28f9480e5 100644 --- a/DataStructures/DeallocatingVector.h +++ b/DataStructures/DeallocatingVector.h @@ -36,9 +36,11 @@ template { protected: - struct DeallocatingVectorIteratorState { + class DeallocatingVectorIteratorState { + private: //make constructors explicit, so we do not mix random access and deallocation iterators. - explicit DeallocatingVectorIteratorState() : mData(DEALLOCATION_VECTOR_NULL_PTR), mIndex(-1) { assert(false); } + DeallocatingVectorIteratorState(); + public: explicit DeallocatingVectorIteratorState(const DeallocatingVectorIteratorState &r) : mData(r.mData), mIndex(r.mIndex), mBucketList(r.mBucketList) {} //explicit DeallocatingVectorIteratorState(const ElementT * ptr, const size_t idx, const std::vector & input_list) : mData(ptr), mIndex(idx), mBucketList(input_list) {} explicit DeallocatingVectorIteratorState(const size_t idx, std::vector & input_list) : mData(DEALLOCATION_VECTOR_NULL_PTR), mIndex(idx), mBucketList(input_list) {