* NodeBuilder work: specifically, convenience builders. "a && b && c || d && e"
authorMorgan Deters <mdeters@gmail.com>
Tue, 2 Mar 2010 20:33:26 +0000 (20:33 +0000)
committerMorgan Deters <mdeters@gmail.com>
Tue, 2 Mar 2010 20:33:26 +0000 (20:33 +0000)
commit2b87789ee57a738cccd89dd9d2d81b065875dc29
treef5376c532490088e5dcc7a37ed318127a0dc8c40
parent7f5036bb37e13dbc7e176d4fa82ee0736d11e913
* NodeBuilder work: specifically, convenience builders.  "a && b && c || d && e"
  (etc.) now work for Nodes a, b, c, d, e.  Also refcounting fixes for
  NodeBuilder in certain cases

* (various places) don't overload __gnu_cxx::hash<>, instead provide
  an explicit hash function to hash_maps and hash_sets.

* add a new kind of assert, DtorAssert(), which doesn't throw
  exceptions (right now it operates like a usual C assert()).  For use
  in destructors.

* don't import NodeValue into CVC4 namespace (leave under CVC4::expr::).

* fix some Make rule dependencies

* reformat node.h as per code formatting policy

* added Theory and NodeBuilder unit tests
src/expr/Makefile.am
src/expr/node.h
src/expr/node_builder.h
src/expr/node_manager.h
src/expr/node_value.cpp
src/expr/node_value.h
src/parser/symbol_table.h
src/prop/cnf_stream.h
src/util/Assert.h
test/unit/expr/node_builder_black.h
test/unit/theory/theory_black.h