From b5578603c5390b643a4dc6dd4a2ee0679ac5f7e7 Mon Sep 17 00:00:00 2001 From: "Christopher L. Conway" Date: Thu, 15 Apr 2010 17:26:29 +0000 Subject: [PATCH] Implementing missing NodeBuilder::constructNode --- src/expr/node_builder.h | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/src/expr/node_builder.h b/src/expr/node_builder.h index a093fc954..09e72660e 100644 --- a/src/expr/node_builder.h +++ b/src/expr/node_builder.h @@ -1245,6 +1245,16 @@ void NodeBuilderBase::decrRefCounts() { d_inlineNv.d_nchildren = 0; } +template +Node NodeBuilderBase::constructNode() { + return Node(constructNV()); +} + +template +Node NodeBuilderBase::constructNode() const { + return Node(constructNV()); +} + template Node* NodeBuilderBase::constructNodePtr() { return new Node(constructNV()); @@ -1255,6 +1265,16 @@ Node* NodeBuilderBase::constructNodePtr() const { return new Node(constructNV()); } +template +NodeBuilderBase::operator Node() { + return constructNode(); +} + +template +NodeBuilderBase::operator Node() const { + return constructNode(); +} + template expr::NodeValue* NodeBuilderBase::constructNV() { Assert(!isUsed(), "NodeBuilder is one-shot only; " @@ -1603,16 +1623,6 @@ expr::NodeValue* NodeBuilderBase::constructNV() const { } } -template -NodeBuilderBase::operator Node() { - return Node(constructNV()); -} - -template -NodeBuilderBase::operator Node() const { - return Node(constructNV()); -} - template template void NodeBuilder::internalCopy(const NodeBuilder& nb) { -- 2.30.2