Manipulators
[Pretty-printing related classes and methods]

Collaboration diagram for Manipulators:

Functions


Function Documentation

ExprStream& CVCL::push ExprStream &  os  ) 
 

Set the indentation to the current position.

Definition at line 319 of file expr_stream.cpp.

References CVCL::ExprStream::pushIndent().

Referenced by CVCL::TheoryUF::print(), CVCL::TheorySimulate::print(), CVCL::TheoryRecords::print(), CVCL::TheoryQuant::print(), CVCL::TheoryDatatype::print(), TheoryCore::print(), CVCL::TheoryBitvector::print(), CVCL::TheoryArray::print(), CVCL::TheoryArith::print(), CVCL::Expr::print(), CVCL::Expr::printAST(), CVCL::TheoryArith::printLhs(), CVCL::TheoryArith::printMinus(), CVCL::TheoryArith::printPlus(), CVCL::TheoryArith::printRational(), and CVCL::space().

ExprStream& CVCL::pop ExprStream &  os  ) 
 

Restore the indentation to the previous position.

Definition at line 322 of file expr_stream.cpp.

References CVCL::ExprStream::popIndent().

Referenced by CVCL::TheoryUF::print(), CVCL::TheorySimulate::print(), CVCL::TheoryRecords::print(), CVCL::TheoryQuant::print(), TheoryCore::print(), CVCL::TheoryBitvector::print(), CVCL::TheoryArray::print(), CVCL::Expr::print(), CVCL::Expr::printAST(), and CVCL::space().

ExprStream& CVCL::popSave ExprStream &  os  ) 
 

Remember the current indentation and pop to the previous position.

There is only one register to save the previous position. If you use popSave() more than once, only the latest position can be restored with pushRestore().

Definition at line 327 of file expr_stream.cpp.

References CVCL::ExprStream::d_indentReg, CVCL::ExprStream::d_indentStack, and CVCL::ExprStream::popIndent().

Referenced by TheoryCore::print().

ExprStream& CVCL::pushRestore ExprStream &  os  ) 
 

Set the indentation to the position saved by popSave().

There is only one register to save the previous position. Using pushRestore() several times will set intendation to the same position.

Definition at line 336 of file expr_stream.cpp.

References CVCL::ExprStream::d_indentReg, and CVCL::ExprStream::pushIndent().

Referenced by TheoryCore::print().

ExprStream& CVCL::reset ExprStream &  os  ) 
 

Reset the indentation to the default at this level.

Definition at line 341 of file expr_stream.cpp.

References CVCL::ExprStream::resetIndent().

ExprStream& CVCL::space ExprStream &  os  ) 
 

Insert a single white space separator.

It is preferred to use 'space' rather than a string of spaces (" ") because ExprStream needs to delete extra white space if it decides to end the line. If you use strings for spaces, you'll mess up the indentation.

Definition at line 347 of file expr_stream.cpp.

References CVCL::ExprStream::d_beginningOfLine, CVCL::pop(), and CVCL::push().

Referenced by CVCL::TheoryUF::print(), CVCL::TheorySimulate::print(), CVCL::TheoryRecords::print(), CVCL::TheoryQuant::print(), CVCL::TheoryDatatype::print(), TheoryCore::print(), CVCL::TheoryBitvector::print(), CVCL::TheoryArray::print(), CVCL::TheoryArith::print(), CVCL::Expr::print(), CVCL::Expr::printAST(), CVCL::TheoryArith::printLhs(), CVCL::TheoryArith::printMinus(), CVCL::TheoryArith::printPlus(), and CVCL::TheoryArith::printRational().

ExprStream& CVCL::nodag ExprStream &  os  ) 
 

DAG-printing will resume for the children of the node. This is useful when printing definitions in the header of a DAGified LET expressions: defs have names, but must be printed expanded.

Definition at line 353 of file expr_stream.cpp.

References CVCL::ExprStream::d_nodag.

Referenced by TheoryCore::print(), and CVCL::Expr::printAST().

ExprStream& CVCL::pushdag ExprStream &  os  ) 
 

For some constructs with bound variables (notably, quantifiers), shared subexpressions are not computed, because they cannot be defined outside the scope of bound variables. If this manipulator is applied before an expression within the scope of bound vars, these internal subexpressions will then be computed.

Definition at line 358 of file expr_stream.cpp.

References CVCL::ExprStream::pushDag().

Referenced by CVCL::TheoryUF::print(), CVCL::TheoryQuant::print(), and CVCL::TheoryArray::print().

ExprStream& CVCL::popdag ExprStream &  os  ) 
 

Similar to push/pop, shared subexpressions are automatically deleted upon a return from a recursive call, so popdag is not necessary after a pushdag in theory-specific print() functions. Also, you cannot pop more than you pushed an the current recursion level.

Definition at line 360 of file expr_stream.cpp.

References CVCL::ExprStream::popDag().

Referenced by CVCL::TheoryUF::print(), CVCL::TheoryQuant::print(), and CVCL::TheoryArray::print().

CVCL::ExprStream & std::endl CVCL::ExprStream os  ) 
 

Print the end-of-line.

The new line will not necessarily start at column 0 because of indentation.

Definition at line 374 of file expr_stream.cpp.

References CVCL::ExprStream::d_beginningOfLine, CVCL::ExprStream::d_col, CVCL::ExprStream::d_indent, CVCL::ExprStream::d_indentStack, and CVCL::ExprStream::d_os.

Referenced by Abort(), CVCL::SearchEngineFast::analyzeUIPs(), CVCL::AssumptionsValue::AssumptionsValue(), CSolver::back_track(), CVCL::RefinedArithTheoremProducer::canonPlus(), CDatabase::compact_lit_pool(), CSolver::conflict_analysis_zchaff(), CSolver::decide_next_branch(), CSolver::delete_unrelevant_clauses(), CDatabase::detail_dump_cl(), CDatabase::dump(), CVariable::dump(), CClause::dump(), CSolver::dump_assignment_stack(), CDatabase::enlarge_lit_pool(), CVCL::VCCmd::evaluateCommand(), CVCL::VCCmd::evaluateNext(), CVCL::fatalError(), CVCL::SearchSat::findSplitterRec(), CVCL::TheoryQuant::getHead(), SAT::DPLLTBasic::handle_result(), CVCL::TheoryArith::kidsCanonical(), CVCL::CNF_TheoremProducer::learnedClause(), main(), CVCL::SearchImplBase::newUserAssumption(), CVCL::operator<<(), CDatabase::output_lit_pool_state(), CVCL::Expr::pprint(), CVCL::Expr::pprintnodag(), CSolver::preprocess(), TheoryCore::print(), CVCL::Theorem::print(), CVCL::Rational::print(), CVCL::Expr::print(), CVCL::Assumptions::print(), CVCL::Expr::printAST(), CVCL::VCL::printStatistics(), CVCL::Rational::printStats(), printUsage(), CVCL::VCCmd::processCommands(), CSolver::queue_implication(), CVCL::Theorem::recursivePrint(), CVCL::VCCmd::reportResult(), CSolver::restart(), CSolver::run_periodic_functions(), CVCL::TheoryQuant::semCheckSat(), CSolver::set_var_value(), sighandler(), CVCL::TheoryQuant::synCheckSat(), CSolver::unset_var_value(), Warning(), and CVCL::Scope::~Scope().


Generated on Thu Apr 13 16:57:38 2006 for CVC Lite by  doxygen 1.4.4