/* * Copyright (C) 2007-2012 Xagasoft, All rights reserved. * * This file is part of the libgats library and is released under the * terms of the license contained in the file LICENSE. */ #ifndef GATS_LIST_H #define GATS_LIST_H #include "gats/object.h" #include #include namespace Gats { class Dictionary; class List : public Gats::Object, public Bu::List { public: List(); virtual ~List(); virtual Object *clone() const; virtual Type getType() const { return typeList; } virtual void write( Bu::Stream &rOut ) const; virtual void read( Bu::Stream &rIn, char cType ); void append( const char *s ); void append( const Bu::String &s ); void append( int32_t i ); void append( int64_t i ); void append( double d ); using Bu::List::append; void appendStr( const Bu::String &s ); void appendInt( int64_t i ); void appendFloat( double d ); void appendBool( bool b ); void appendList( Gats::List *pL ); void appendDict( Gats::Dictionary *pD ); Gats::List *appendList(); Gats::Dictionary *appendDict(); void prepend( const char *s ); void prepend( const Bu::String &s ); void prepend( int32_t i ); void prepend( int64_t i ); void prepend( double d ); using Bu::List::prepend; void prependStr( const Bu::String &s ); void prependInt( int64_t i ); void prependFloat( double d ); void prependBool( bool b ); void prependList( Gats::List *pL ); void prependDict( Gats::Dictionary *pD ); Gats::List *prependList(); Gats::Dictionary *prependDict(); }; }; Bu::Formatter &operator<<( Bu::Formatter &f, const Gats::List &l ); #endif