summaryrefslogtreecommitdiff
path: root/src/expr/expr_value.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/expr/expr_value.h')
-rw-r--r--src/expr/expr_value.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/expr/expr_value.h b/src/expr/expr_value.h
index decd57045..6df7ad76f 100644
--- a/src/expr/expr_value.h
+++ b/src/expr/expr_value.h
@@ -34,13 +34,17 @@ namespace expr {
* This is an ExprValue.
*/
class ExprValue {
+
+ /** A convenient null-valued expression value */
+ static ExprValue s_null;
+
/** Maximum reference count possible. Used for sticky
* reference-counting. Should be (1 << num_bits(d_rc)) - 1 */
static const unsigned MAX_RC = 255;
// this header fits into one 64-bit word
- /** The ID */
+ /** The ID (0 is reserved for the null value) */
unsigned d_id : 32;
/** The expression's reference count. @see cvc4::Expr. */
@@ -65,6 +69,9 @@ class ExprValue {
static size_t next_id;
+ /** Private default constructor for the null value. */
+ ExprValue();
+
public:
/** Hash this expression.
* @return the hash value of this expression. */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback