From 6b69662ce8d34f72f4789497fef4034ca8e494c5 Mon Sep 17 00:00:00 2001 From: "Philipp A. Hartmann" Date: Mon, 17 Nov 2014 13:27:54 +0100 Subject: [PATCH] Writer: declare constructors as explicit Avoids implicit conversion from an `OutputStream` (or an allocator pointer) to a `Writer` instance. --- include/rapidjson/writer.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/rapidjson/writer.h b/include/rapidjson/writer.h index dc41a1b..02d6680 100644 --- a/include/rapidjson/writer.h +++ b/include/rapidjson/writer.h @@ -62,9 +62,11 @@ public: \param stackAllocator User supplied allocator. If it is null, it will create a private one. \param levelDepth Initial capacity of stack. */ + explicit Writer(OutputStream& os, StackAllocator* stackAllocator = 0, size_t levelDepth = kDefaultLevelDepth) : os_(&os), level_stack_(stackAllocator, levelDepth * sizeof(Level)), hasRoot_(false) {} + explicit Writer(StackAllocator* allocator = 0, size_t levelDepth = kDefaultLevelDepth) : os_(0), level_stack_(allocator, levelDepth * sizeof(Level)), hasRoot_(false) {}