00001 #ifndef TAGCOLL_TAGCOLLSERIALIZER_H
00002 #define TAGCOLL_TAGCOLLSERIALIZER_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #pragma interface
00025
00026 #include <tagcoll/TagcollConsumer.h>
00027
00028 #include <stdio.h>
00029
00030 namespace Tagcoll
00031 {
00032
00033
00034 class TagcollSerializer : public TagcollConsumer<std::string>
00035 {
00036 protected:
00037 FILE* out;
00038
00039 void printTagset(const OpSet<std::string>& ts) throw ();
00040
00041 public:
00042 TagcollSerializer(FILE* out) throw () : out(out) {}
00043
00044 virtual void consume(const std::string& item) throw ();
00045 virtual void consume(const std::string& item, const OpSet<std::string>& tags) throw ();
00046 virtual void consume(const OpSet<std::string>& items) throw ();
00047 virtual void consume(const OpSet<std::string>& items, const OpSet<std::string>& tags) throw ();
00048 };
00049
00050 };
00051
00052
00053 #endif