00001
00002
00003
00004 #ifndef DEV_W3_ORG__2001_BLINDFOLD_SRC_LOGGINGTRIPLESINK_H
00005 #define DEV_W3_ORG__2001_BLINDFOLD_SRC_LOGGINGTRIPLESINK_H
00006 #include "config.h"
00007
00008 #include "TripleSink.h"
00009
00013 class LoggingTripleSink : public TripleSink {
00014
00015 public:
00016
00017
00018
00019 LoggingTripleSink(const LoggingTripleSink& other);
00020 const LoggingTripleSink& operator=(const LoggingTripleSink& other);
00021 bool operator==(const LoggingTripleSink& other) const;
00022 bool operator<(const LoggingTripleSink& other) const;
00023 size_t hash() const;
00024 friend std::ostream& operator<<(std::ostream& s, const LoggingTripleSink& me);
00025 std::ostream& print_to(std::ostream& stream) const;
00026 ~LoggingTripleSink();
00027
00028
00029 virtual void add(Symbol subject, Symbol predicate , Symbol object);
00030
00031 private:
00032 std::ostream& out;
00033 std::string prefix;
00034
00035 };
00036
00037
00038 STANDARD_EXTERNAL(LoggingTripleSink)
00039
00040 #endif