From aa31be16493b824cc1e720da601e9098885f03f2 Mon Sep 17 00:00:00 2001 From: Richard Roberts Date: Fri, 6 Jan 2012 21:21:00 +0000 Subject: [PATCH] Made Fast* container constructors explicit (like the STL versions) to prevent bugs --- gtsam/base/FastList.h | 2 +- gtsam/base/FastMap.h | 2 +- gtsam/base/FastSet.h | 2 +- gtsam/base/FastVector.h | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gtsam/base/FastList.h b/gtsam/base/FastList.h index bb0002545..b34d1fad9 100644 --- a/gtsam/base/FastList.h +++ b/gtsam/base/FastList.h @@ -43,7 +43,7 @@ public: /** Constructor from a range, passes through to base class */ template - FastList(INPUTITERATOR first, INPUTITERATOR last) : Base(first, last) {} + explicit FastList(INPUTITERATOR first, INPUTITERATOR last) : Base(first, last) {} /** Copy constructor from another FastList */ FastList(const FastList& x) : Base(x) {} diff --git a/gtsam/base/FastMap.h b/gtsam/base/FastMap.h index d4535ba1e..cc5a3b4d6 100644 --- a/gtsam/base/FastMap.h +++ b/gtsam/base/FastMap.h @@ -44,7 +44,7 @@ public: /** Constructor from a range, passes through to base class */ template - FastMap(INPUTITERATOR first, INPUTITERATOR last) : Base(first, last) {} + explicit FastMap(INPUTITERATOR first, INPUTITERATOR last) : Base(first, last) {} /** Copy constructor from another FastMap */ FastMap(const FastMap& x) : Base(x) {} diff --git a/gtsam/base/FastSet.h b/gtsam/base/FastSet.h index 871fbd85e..7d9084e5f 100644 --- a/gtsam/base/FastSet.h +++ b/gtsam/base/FastSet.h @@ -55,7 +55,7 @@ public: /** Constructor from a range, passes through to base class */ template - FastSet(INPUTITERATOR first, INPUTITERATOR last) : + explicit FastSet(INPUTITERATOR first, INPUTITERATOR last) : Base(first, last) { } diff --git a/gtsam/base/FastVector.h b/gtsam/base/FastVector.h index 982ac449b..57b5bb4cc 100644 --- a/gtsam/base/FastVector.h +++ b/gtsam/base/FastVector.h @@ -41,14 +41,14 @@ public: FastVector() {} /** Constructor from size */ - FastVector(size_t size) : Base(size) {} + explicit FastVector(size_t size) : Base(size) {} /** Constructor from size and initial values */ - FastVector(size_t size, const VALUE& initial) : Base(size, initial) {} + explicit FastVector(size_t size, const VALUE& initial) : Base(size, initial) {} /** Constructor from a range, passes through to base class */ template - FastVector(INPUTITERATOR first, INPUTITERATOR last) : Base(first, last) {} + explicit FastVector(INPUTITERATOR first, INPUTITERATOR last) : Base(first, last) {} /** Copy constructor from another FastSet */ FastVector(const FastVector& x) : Base(x) {}