cmake: Disable C++ GNU extensions. (#3446)
[cvc5.git] / src / util / abstract_value.h
index 39fd9e368a1609fa49e049988686f3fa955dfa4c..8091a7ee580fd3a789660aeac99ec733858d9f36 100644 (file)
@@ -1,13 +1,13 @@
 /*********************                                                        */
 /*! \file abstract_value.h
  ** \verbatim
- ** Original author: Morgan Deters
- ** Major contributors: none
- ** Minor contributors (to current version): none
+ ** Top contributors (to current version):
+ **   Morgan Deters, Tim King
  ** This file is part of the CVC4 project.
- ** Copyright (c) 2009-2013  New York University and The University of Iowa
- ** See the file COPYING in the top-level source directory for licensing
- ** information.\endverbatim
+ ** Copyright (c) 2009-2019 by the authors listed in the file AUTHORS
+ ** in the top-level source directory) and their institutional affiliations.
+ ** All rights reserved.  See the file COPYING in the top-level source
+ ** directory for licensing information.\endverbatim
  **
  ** \brief Representation of abstract values
  **
 
 #pragma once
 
-#include "expr/type.h"
-#include <iostream>
+#include <iosfwd>
+
+#include "util/integer.h"
 
 namespace CVC4 {
 
 class CVC4_PUBLIC AbstractValue {
   const Integer d_index;
 
-public:
-
-  AbstractValue(Integer index) throw(IllegalArgumentException) :
-    d_index(index) {
-    CheckArgument(index >= 1, index, "index >= 1 required for abstract value, not `%s'", index.toString().c_str());
-  }
-
-  ~AbstractValue() throw() {
-  }
-
-  const Integer& getIndex() const throw() {
-    return d_index;
-  }
+ public:
+  AbstractValue(Integer index);
 
-  bool operator==(const AbstractValue& val) const throw() {
+  const Integer& getIndex() const { return d_index; }
+  bool operator==(const AbstractValue& val) const
+  {
     return d_index == val.d_index;
   }
-  bool operator!=(const AbstractValue& val) const throw() {
-    return !(*this == val);
-  }
-
-  bool operator<(const AbstractValue& val) const throw() {
+  bool operator!=(const AbstractValue& val) const { return !(*this == val); }
+  bool operator<(const AbstractValue& val) const
+  {
     return d_index < val.d_index;
   }
-  bool operator<=(const AbstractValue& val) const throw() {
+  bool operator<=(const AbstractValue& val) const
+  {
     return d_index <= val.d_index;
   }
-  bool operator>(const AbstractValue& val) const throw() {
-    return !(*this <= val);
-  }
-  bool operator>=(const AbstractValue& val) const throw() {
-    return !(*this < val);
-  }
-
+  bool operator>(const AbstractValue& val) const { return !(*this <= val); }
+  bool operator>=(const AbstractValue& val) const { return !(*this < val); }
 };/* class AbstractValue */
 
 std::ostream& operator<<(std::ostream& out, const AbstractValue& val) CVC4_PUBLIC;