%ignore CVC4::operator<<(std::ostream&, const Command&) throw();
%ignore CVC4::operator<<(std::ostream&, const Command*) throw();
+%ignore CVC4::operator<<(std::ostream&, const CommandStatus&) throw();
+%ignore CVC4::operator<<(std::ostream&, const CommandStatus*) throw();
%ignore CVC4::operator<<(std::ostream&, BenchmarkStatus status) throw();
+%ignore CVC4::operator<<(std::ostream&, CommandPrintSuccess) throw();
%ignore CVC4::GetProofCommand;
%ignore CVC4::CommandPrintSuccess::Scope;
%rename(equals) CVC4::LogicInfo::operator==(const LogicInfo&) const;
%ignore CVC4::LogicInfo::operator!=(const LogicInfo&) const;
+%ignore CVC4::operator<<(std::ostream&, const LogicInfo&);
+
%include "theory/logic_info.h"
%rename(greater) CVC4::ArrayStoreAll::operator>(const ArrayStoreAll&) const;
%rename(greaterEqual) CVC4::ArrayStoreAll::operator>=(const ArrayStoreAll&) const;
+%rename(apply) CVC4::ArrayStoreAllHashFunction::operator()(const ArrayStoreAll&) const;
+
+%ignore CVC4::operator<<(std::ostream&, const ArrayStoreAll&);
+
%include "expr/type.i"
%include "util/array_store_all.h"
%rename(equals) CVC4::AscriptionType::operator==(const AscriptionType&) const;
%ignore CVC4::AscriptionType::operator!=(const AscriptionType&) const;
+%rename(apply) CVC4::AscriptionTypeHashFunction::operator()(const AscriptionType&) const;
+
%ignore CVC4::operator<<(std::ostream&, AscriptionType);
%include "util/ascription_type.h"
%rename(toUnsigned) CVC4::BitVectorSignExtend::operator unsigned() const;
%rename(toUnsigned) CVC4::BitVectorRotateLeft::operator unsigned() const;
%rename(toUnsigned) CVC4::BitVectorRotateRight::operator unsigned() const;
+%rename(toUnsigned) CVC4::IntToBitVector::operator unsigned() const;
+
+%rename(apply) CVC4::BitVectorHashFunction::operator()(const BitVector&) const;
+%rename(apply) CVC4::BitVectorExtractHashFunction::operator()(const BitVectorExtract&) const;
+%rename(apply) CVC4::BitVectorBitOfHashFunction::operator()(const BitVectorBitOf&) const;
%ignore CVC4::operator<<(std::ostream&, const BitVector&);
%ignore CVC4::operator<<(std::ostream&, const BitVectorExtract&);
+%ignore CVC4::operator<<(std::ostream&, const BitVectorBitOf&);
+%ignore CVC4::operator<<(std::ostream&, const IntToBitVector&);
%include "util/bitvector.h"
%rename(equals) CVC4::Predicate::operator==(const Predicate&) const;
%rename(toExpr) CVC4::Predicate::operator Expr() const;
+%rename(apply) CVC4::PredicateHashFunction::operator()(const Predicate&) const;
+
+%ignore CVC4::operator<<(std::ostream& out, const Predicate& p);
+
%include "util/predicate.h"
%ignore CVC4::Record::operator!=(const Record&) const;
%rename(getField) CVC4::Record::operator[](size_t) const;
+%rename(apply) CVC4::RecordHashFunction::operator()(const Record&) const;
+%rename(apply) CVC4::RecordSelectHashFunction::operator()(const RecordSelect&) const;
+%rename(apply) CVC4::RecordUpdateHashFunction::operator()(const RecordUpdate&) const;
+
+%ignore CVC4::operator<<(std::ostream&, const Record&);
+%ignore CVC4::operator<<(std::ostream&, const RecordSelect&);
+%ignore CVC4::operator<<(std::ostream&, const RecordUpdate&);
+
#ifdef SWIGJAVA
// These Object arrays are always of two elements, the first is a String and the second a
%rename(greater) CVC4::SubrangeBounds::operator>(const SubrangeBounds&) const;
%rename(greaterEqual) CVC4::SubrangeBounds::operator>=(const SubrangeBounds&) const;
+%rename(apply) CVC4::SubrangeBoundsHashFunction::operator()(const SubrangeBounds&) const;
+
%ignore CVC4::operator<<(std::ostream&, const SubrangeBound&);
+%ignore CVC4::operator<<(std::ostream&, const SubrangeBounds&);
%include "util/subrange_bound.h"
%rename(equals) CVC4::TupleUpdate::operator==(const TupleUpdate&) const;
%ignore CVC4::TupleUpdate::operator!=(const TupleUpdate&) const;
+%rename(apply) CVC4::TupleSelectHashFunction::operator()(const TupleSelect&) const;
+%rename(apply) CVC4::TupleUpdateHashFunction::operator()(const TupleUpdate&) const;
+
+%ignore CVC4::operator<<(std::ostream&, const TupleSelect&);
+%ignore CVC4::operator<<(std::ostream&, const TupleUpdate&);
+
%include "util/tuple.h"
%rename(equals) CVC4::UninterpretedConstant::operator==(const UninterpretedConstant&) const;
%ignore CVC4::UninterpretedConstant::operator!=(const UninterpretedConstant&) const;
+%rename(apply) CVC4::UninterpretedConstantHashFunction::operator()(const UninterpretedConstant&) const;
+
+%ignore CVC4::operator<<(std::ostream&, const UninterpretedConstant&);
+
%include "util/uninterpreted_constant.h"