summaryrefslogtreecommitdiff
path: root/src/expr/node_manager.h
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2010-06-04 18:55:22 +0000
committerMorgan Deters <mdeters@gmail.com>2010-06-04 18:55:22 +0000
commita460f751e8345e61c4989386765d84bb76fe37d6 (patch)
tree08bc3c035b5bd8f220853e06dc90fb939c55b2ed /src/expr/node_manager.h
parentfebba49895125f4f3489e7dff283a000ae9965b3 (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.h26
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;
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback