Goose  Artifact [c0b126cac8]

Artifact c0b126cac80df95d68be4cdf2b6fcac7452f50f3b076fa9801c08e2fe58cb2e0:

  • File bs/eir/tostring.h — part of check-in [21f907a13f] at 2021-09-26 12:00:49 on branch trunk —
    • Fixed TypeType's representation. Declaring a type, non-template parameter (for compile time functions) now works
    • Removed the trie comparison algorithm from eir that was never used
    • Misc code cleanup
    (user: achavasse size: 1057)

#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