From ba7aa979a5a51f336b7b4698ce3efc8f3c6dfa1b Mon Sep 17 00:00:00 2001 From: Milo Yip Date: Tue, 2 Feb 2016 10:17:06 +0800 Subject: [PATCH] Refactoring: Remove GenericSchemaValiadator::nullOutputHandler_ --- include/rapidjson/schema.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/include/rapidjson/schema.h b/include/rapidjson/schema.h index 36e3327..5e125b8 100644 --- a/include/rapidjson/schema.h +++ b/include/rapidjson/schema.h @@ -1540,7 +1540,7 @@ public: : schemaDocument_(&schemaDocument), root_(schemaDocument.GetRoot()), - outputHandler_(nullOutputHandler_), + outputHandler_(GetNullHandler()), stateAllocator_(allocator), ownStateAllocator_(0), schemaStack_(allocator, schemaStackCapacity), @@ -1764,7 +1764,7 @@ private: : schemaDocument_(&schemaDocument), root_(root), - outputHandler_(nullOutputHandler_), + outputHandler_(GetNullHandler()), stateAllocator_(allocator), ownStateAllocator_(0), schemaStack_(allocator, schemaStackCapacity), @@ -1882,11 +1882,15 @@ private: Context& CurrentContext() { return *schemaStack_.template Top(); } const Context& CurrentContext() const { return *schemaStack_.template Top(); } + static OutputHandler& GetNullHandler() { + static OutputHandler nullHandler; + return nullHandler; + } + static const size_t kDefaultSchemaStackCapacity = 1024; static const size_t kDefaultDocumentStackCapacity = 256; const SchemaDocumentType* schemaDocument_; const SchemaType& root_; - OutputHandler nullOutputHandler_; OutputHandler& outputHandler_; StateAllocator* stateAllocator_; StateAllocator* ownStateAllocator_;