Collaboration diagram for Overloaded operator<<:
ExprStream& CVC3::operator<< | ( | ExprStream & | os, | |
ExprStream &(*)(ExprStream &) | manip | |||
) |
Use manipulators which are functions over ExprStream&.
Definition at line 147 of file expr_stream.cpp.
ExprStream& CVC3::operator<< | ( | ExprStream & | os, | |
const Expr & | e | |||
) |
Print Expr.
Definition at line 153 of file expr_stream.cpp.
References CVC3::ExprStream::addLetHeader(), CVC3::ASSERT, CVC3::AST_LANG, CVC3::ExprStream::collectShared(), CVC3::CONST, CVC3::ExprStream::d_currDepth, CVC3::ExprStream::d_dag, CVC3::ExprStream::d_dagBuilt, CVC3::ExprStream::d_dagMap, CVC3::ExprStream::d_dagPtr, CVC3::ExprStream::d_depth, CVC3::ExprStream::d_em, CVC3::ExprStream::d_indentLast, CVC3::ExprStream::d_indentReg, CVC3::ExprStream::d_indentStack, CVC3::ExprStream::d_lang, CVC3::ExprStream::d_lastDagSize, CVC3::ExprStream::d_nodag, CVC3::ExprMap< Data >::end(), CVC3::ExprMap< Data >::find(), CVC3::Expr::getKind(), CVC3::ExprManager::getPrinter(), CVC3::PrettyPrinter::print(), CVC3::Expr::printAST(), CVC3::QUERY, CVC3::TRANSFORM, and CVC3::TYPE.
ExprStream& CVC3::operator<< | ( | ExprStream & | os, | |
const Type & | t | |||
) |
ExprStream& CVC3::operator<< | ( | ExprStream & | os, | |
const string & | s | |||
) |
Print string.
This is where all the indentation is happening.
The algorithm for determining whether to go to the next line is the following:
Definition at line 240 of file expr_stream.cpp.
References CVC3::ExprStream::d_beginningOfLine, CVC3::ExprStream::d_col, CVC3::ExprStream::d_indent, CVC3::ExprStream::d_indentStack, CVC3::ExprStream::d_lineWidth, CVC3::ExprStream::d_os, and std::endl().
ExprStream& CVC3::operator<< | ( | ExprStream & | os, | |
const char * | s | |||
) |
ExprStream& CVC3::operator<< | ( | ExprStream & | os, | |
const Rational & | r | |||
) |
ExprStream& CVC3::operator<< | ( | ExprStream & | os, | |
int | i | |||
) |