diff options
author | Morgan Deters <mdeters@gmail.com> | 2010-06-04 18:55:22 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2010-06-04 18:55:22 +0000 |
commit | a460f751e8345e61c4989386765d84bb76fe37d6 (patch) | |
tree | 08bc3c035b5bd8f220853e06dc90fb939c55b2ed /src/expr/node_manager.h | |
parent | febba49895125f4f3489e7dff283a000ae9965b3 (diff) |
** Don't fear the files-changed list, almost all changes are in the **
** file-level documentation at the top of the sources. **
This is the "make bugzilla stop bugging me" bugfix commit.
* Remove BackedNodeBuilder<> and collapse NodeBuilder<> hierarchy.
Updated documentation in the file. Resolves bug #99.
* Convenience NodeBuilders (PlusNodeBuilder, OrNodeBuilder, etc.)
moved into a separate file. Partially resolves bug #100.
* Moved isAssociative(Kind) into kind.h (and into the CVC4::kind
namespace) instead of metakind.h (where it was in CVC4::metakind).
This clears up a warning (private #inclusion) from the SMT and SMT2
parsers, and maybe makes more sense anyways, since this is based on
the kind (and not the metakind) of an operator.
* Documentation improvement; doxygen top-level \file gestures, \brief
gestures for files, etc. Changed contrib/update-copyright.pl for
this change, and post-processed to add \brief. Resolves bug #98.
* Removed ExprManager::mkExpr(Kind) and NodeManager::mkNode(Kind).
They no longer made sense. Resolves bug #91.
Diffstat (limited to 'src/expr/node_manager.h')
-rw-r--r-- | src/expr/node_manager.h | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/src/expr/node_manager.h b/src/expr/node_manager.h index 5642a8372..2d96ac57a 100644 --- a/src/expr/node_manager.h +++ b/src/expr/node_manager.h @@ -1,14 +1,17 @@ /********************* */ -/** node_manager.h +/*! \file node_manager.h + ** \verbatim ** Original author: mdeters - ** Major contributors: cconway - ** Minor contributors (to current version): taking, dejan + ** Major contributors: cconway, dejan + ** Minor contributors (to current version): taking ** This file is part of the CVC4 prototype. ** Copyright (c) 2009, 2010 The Analysis of Computer Systems Group (ACSys) ** Courant Institute of Mathematical Sciences ** New York University ** See the file COPYING in the top-level source directory for licensing - ** information. + ** information.\endverbatim + ** + ** \brief A manager for Nodes. ** ** A manager for Nodes. ** @@ -50,7 +53,7 @@ typedef expr::Attribute<attr::VarNameTag, std::string> VarNameAttr; }/* CVC4::expr namespace */ class NodeManager { - template <class Builder> friend class CVC4::NodeBuilderBase; + template <unsigned nchild_thresh> friend class CVC4::NodeBuilder; friend class NodeManagerScope; friend class expr::NodeValue; @@ -262,10 +265,6 @@ public: // general expression-builders - /** Create a node with no children. */ - Node mkNode(Kind kind); - Node* mkNodePtr(Kind kind); - /** Create a node with one child. */ Node mkNode(Kind kind, TNode child1); Node* mkNodePtr(Kind kind, TNode child1); @@ -740,15 +739,6 @@ inline TypeNode NodeManager::mkSort(const std::string& name) { return type; } -inline Node NodeManager::mkNode(Kind kind) { - return NodeBuilder<0>(this, kind); -} - -inline Node* NodeManager::mkNodePtr(Kind kind) { - NodeBuilder<0> nb(this, kind); - return nb.constructNodePtr(); -} - inline Node NodeManager::mkNode(Kind kind, TNode child1) { return NodeBuilder<1>(this, kind) << child1; } |