template<class T>
class FoldingSetIterator : public FoldingSetIteratorImpl {
public:
- FoldingSetIterator(void **Bucket) : FoldingSetIteratorImpl(Bucket) {}
+ explicit FoldingSetIterator(void **Bucket) : FoldingSetIteratorImpl(Bucket) {}
T &operator*() const {
return *static_cast<T*>(NodePtr);
protected:
void *Ptr;
- FoldingSetBucketIteratorImpl(void **Bucket);
+ explicit FoldingSetBucketIteratorImpl(void **Bucket);
FoldingSetBucketIteratorImpl(void **Bucket, bool)
: Ptr(reinterpret_cast<void*>(Bucket)) {}
template<class T>
class FoldingSetBucketIterator : public FoldingSetBucketIteratorImpl {
public:
- FoldingSetBucketIterator(void **Bucket) :
+ explicit FoldingSetBucketIterator(void **Bucket) :
FoldingSetBucketIteratorImpl(Bucket) {}
FoldingSetBucketIterator(void **Bucket, bool) :
class FoldingSetNodeWrapper : public FoldingSetNode {
T data;
public:
- FoldingSetNodeWrapper(const T& x) : data(x) {}
+ explicit FoldingSetNodeWrapper(const T& x) : data(x) {}
virtual ~FoldingSetNodeWrapper() {}
template<typename A1>