00001 /* Copyright (C) 2010 webis.de 00002 * All rights reserved. 00003 */ 00004 #ifndef AITOOLS_INVERTEDINDEX_SINGLE_STRING_HPP 00005 #define AITOOLS_INVERTEDINDEX_SINGLE_STRING_HPP 00006 00007 #include "Value.hpp" 00008 #include <iostream> 00009 00010 namespace aitools { 00011 namespace invertedindex { 00012 00020 class SingleString : public Value { 00021 00022 public: // class data 00023 00024 static const std::string classname; 00025 00026 public: // c'tor / d'tor 00027 00031 SingleString(); 00032 00036 SingleString(const std::string& element); 00037 00041 SingleString(const SingleString& single); 00042 00046 virtual ~SingleString(); 00047 00048 public: // member 00049 00050 void clear(); 00051 00052 bool operator==(const SingleString& single) const; 00053 00054 bool operator!=(const SingleString& single) const; 00055 00056 bool operator>(const SingleString& single) const; 00057 00058 bool operator<(const SingleString& single) const; 00059 00060 void parse(std::istream& is); 00061 00062 void print(std::ostream& os) const; 00063 00064 double score() const; 00065 00066 std::string& element(); 00067 00068 const std::string& element() const; 00069 00070 void to_bytes(ByteBuffer& buffer) const; 00071 00072 void wrap(const char* data, size_t size); 00073 00074 void wrap(const ByteBuffer& buffer); 00075 00076 private: // member 00077 00078 std::string element_; 00079 00080 }; 00081 00082 } // namespace invertedindex 00083 } // namespace aitools 00084 00085 #endif // AITOOLS_INVERTEDINDEX_SINGLE_STRING_HPP