00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00020 #ifndef FALCON_ITEM_DICT_H
00021 #define FALCON_ITEM_DICT_H
00022
00023 #include <falcon/types.h>
00024 #include <falcon/sequence.h>
00025
00026 namespace Falcon {
00027
00028 class Item;
00029
00035 class FALCON_DYN_CLASS ItemDict: public Sequence
00036 {
00037 public:
00039 virtual bool isDictionary() const { return true; }
00040
00041 virtual uint32 length() const = 0;
00042 virtual Item *find( const Item &key ) const = 0;
00043 virtual bool findIterator( const Item &key, Iterator &iter ) = 0;
00044
00045 virtual bool remove( const Item &key ) = 0;
00046 virtual void put( const Item &key, const Item &value ) = 0;
00047 virtual void smartInsert( const Iterator &iter, const Item &key, const Item &value ) = 0;
00048
00049 virtual void merge( const ItemDict &dict ) = 0;
00050 virtual void clear() = 0;
00051 };
00052
00053 }
00054
00055 #endif