#ifndef GOOSE_EIR_TOSTRING_H
#define GOOSE_EIR_TOSTRING_H
namespace goose::eir
{
class Vector;
enum class Delimiter;
extern ostream& ToString( ostream& out, const Term& t );
extern ostream& ToString( ostream& out, const uint32_t& x );
extern ostream& ToString( ostream& out, const LocationId& x );
extern ostream& ToString( ostream& out, const string& x, char delim = '\'' );
extern ostream& ToString( ostream& out, StringId x );
extern ostream& ToString( ostream& out, const Delimiter& x );
extern ostream& ToString( ostream& out, const Hole& x );
extern ostream& ToString( ostream& out, const ptr< void >& x );
extern ostream& ToString( ostream& out, const void* x );
extern ostream& ToString( ostream& out, const AnyTerm& at );
extern ostream& ToString( ostream& out, const VecOfLength& v );
extern ostream& ToString( ostream& out, const ptr< Vector >& v );
extern ostream& ToString( ostream& out, const BigInt& t );
extern ostream& ToString( ostream& out, const APSInt& t );
}
#endif