Branch data Line data Source code
1 : : /****************************************************************************** 2 : : * This file is part of the cvc5 project. 3 : : * 4 : : * Copyright (c) 2009-2026 by the authors listed in the file AUTHORS 5 : : * in the top-level source directory and their institutional affiliations. 6 : : * All rights reserved. See the file COPYING in the top-level source 7 : : * directory for licensing information. 8 : : * **************************************************************************** 9 : : * 10 : : * Utilities for printing expressions in proofs 11 : : */ 12 : : 13 : : #include "proof/print_expr.h" 14 : : 15 : : namespace cvc5::internal { 16 : : namespace proof { 17 : : 18 : 16702862 : PExprStream::PExprStream(std::vector<PExpr>& stream, Node tt, Node ff) 19 : 16702862 : : d_stream(stream), d_tt(tt), d_ff(ff) 20 : : { 21 : 16702862 : } 22 : : 23 : 21127614 : PExprStream& PExprStream::operator<<(const ProofNode* pn) 24 : : { 25 : 21127614 : d_stream.push_back(PExpr(pn)); 26 : 21127614 : return *this; 27 : : } 28 : : 29 : 6138194 : PExprStream& PExprStream::operator<<(Node n) 30 : : { 31 : 6138194 : d_stream.push_back(PExpr(n)); 32 : 6138194 : return *this; 33 : : } 34 : : 35 : 42362 : PExprStream& PExprStream::operator<<(TypeNode tn) 36 : : { 37 : 42362 : d_stream.push_back(PExpr(tn)); 38 : 42362 : return *this; 39 : : } 40 : : 41 : 979444 : PExprStream& PExprStream::operator<<(bool b) 42 : : { 43 [ + - ][ + - ]: 979444 : Assert(!d_tt.isNull() && !d_ff.isNull()); [ - + ][ - + ] [ - - ] 44 [ + + ]: 979444 : d_stream.push_back(b ? d_tt : d_ff); 45 : 979444 : return *this; 46 : : } 47 : : 48 : 38774968 : PExprStream& PExprStream::operator<<(PExpr p) 49 : : { 50 : 38774968 : d_stream.push_back(p); 51 : 38774968 : return *this; 52 : : } 53 : : 54 : : } // namespace proof 55 : : } // namespace cvc5::internal