Implementing missing NodeBuilder::constructNode
authorChristopher L. Conway <christopherleeconway@gmail.com>
Thu, 15 Apr 2010 17:26:29 +0000 (17:26 +0000)
committerChristopher L. Conway <christopherleeconway@gmail.com>
Thu, 15 Apr 2010 17:26:29 +0000 (17:26 +0000)
src/expr/node_builder.h

index a093fc9544603ae6dcf9b3ba30a14a82b8c15213..09e72660ebdbc8b8bc6a35c26ac905359ae7904e 100644 (file)
@@ -1245,6 +1245,16 @@ void NodeBuilderBase<Builder>::decrRefCounts() {
   d_inlineNv.d_nchildren = 0;
 }
 
+template <class Builder>
+Node NodeBuilderBase<Builder>::constructNode() {
+  return Node(constructNV());
+}
+
+template <class Builder>
+Node NodeBuilderBase<Builder>::constructNode() const {
+  return Node(constructNV());
+}
+
 template <class Builder>
 Node* NodeBuilderBase<Builder>::constructNodePtr() {
   return new Node(constructNV());
@@ -1255,6 +1265,16 @@ Node* NodeBuilderBase<Builder>::constructNodePtr() const {
   return new Node(constructNV());
 }
 
+template <class Builder>
+NodeBuilderBase<Builder>::operator Node() {
+  return constructNode();
+}
+
+template <class Builder>
+NodeBuilderBase<Builder>::operator Node() const {
+  return constructNode();
+}
+
 template <class Builder>
 expr::NodeValue* NodeBuilderBase<Builder>::constructNV() {
   Assert(!isUsed(), "NodeBuilder is one-shot only; "
@@ -1603,16 +1623,6 @@ expr::NodeValue* NodeBuilderBase<Builder>::constructNV() const {
   }
 }
 
-template <class Builder>
-NodeBuilderBase<Builder>::operator Node() {
-  return Node(constructNV());
-}
-
-template <class Builder>
-NodeBuilderBase<Builder>::operator Node() const {
-  return Node(constructNV());
-}
-
 template <unsigned nchild_thresh>
 template <unsigned N>
 void NodeBuilder<nchild_thresh>::internalCopy(const NodeBuilder<N>& nb) {