OpenTREP Logo  0.07.4
C++ Open Travel Request Parsing Library
QuerySlices.hpp
Go to the documentation of this file.
1 #ifndef __OPENTREP_BOM_QUERYSLICES_HPP
2 #define __OPENTREP_BOM_QUERYSLICES_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <string>
9 #include <list>
10 // Xapian
11 #include <xapian.h>
12 // OpenTrep
16 
17 namespace OPENTREP {
18 
19  // Forward declarations
20  class OTransliterator;
21 
47  struct QuerySlices : public StructAbstract {
48  public:
55  const TravelQuery_T& getQueryString() const {
56  return _queryString;
57  }
58 
63  return _slices;
64  }
65 
72  void push_back (const StringPartition& iStringPartition);
73 
77  size_t size() const;
78 
82  bool empty() const;
83 
87  void clear();
88 
89 
90  private:
99  void init (const OTransliterator&);
100 
101 
102  public:
103  // /////////// Display support methods /////////
109  void toStream (std::ostream& ioOut) const;
110 
116  void fromStream (std::istream& ioIn);
117 
122  std::string describeKey() const;
123 
127  std::string describe() const;
128 
129 
130  public:
131  // //////////////// Constructors and Destructors /////////////
139  QuerySlices (const Xapian::Database&, const TravelQuery_T&,
140  const OTransliterator&);
141 
145  ~QuerySlices();
146 
147 
148  public:
149  // //////////////// Attributes ///////////////
153  const Xapian::Database& _database;
154 
159 
164 
168  std::string _itLeftWords;
169  };
170 
171 }
172 #endif // __OPENTREP_BOM_QUERYSLICES_HPP
OPENTREP::QuerySlices::_itLeftWords
std::string _itLeftWords
Definition: QuerySlices.hpp:168
OPENTREP::QuerySlices::fromStream
void fromStream(std::istream &ioIn)
Definition: QuerySlices.cpp:95
OPENTREP::TravelQuery_T
std::string TravelQuery_T
Definition: OPENTREP_Types.hpp:660
OPENTREP::QuerySlices::describeKey
std::string describeKey() const
Definition: QuerySlices.cpp:54
StringPartition.hpp
OPENTREP::QuerySlices
Definition: QuerySlices.hpp:47
OPENTREP::QuerySlices::~QuerySlices
~QuerySlices()
Definition: QuerySlices.cpp:28
OPENTREP::OTransliterator
Definition: OTransliterator.hpp:18
OPENTREP::QuerySlices::QuerySlices
QuerySlices(const Xapian::Database &, const TravelQuery_T &, const OTransliterator &)
Definition: QuerySlices.cpp:20
OPENTREP::QuerySlices::push_back
void push_back(const StringPartition &iStringPartition)
Definition: QuerySlices.cpp:32
OPENTREP::QuerySlices::getQueryString
const TravelQuery_T & getQueryString() const
Definition: QuerySlices.hpp:55
OPENTREP::StringPartitionList_T
std::list< StringPartition > StringPartitionList_T
Definition: StringPartition.hpp:166
OPENTREP
Definition: BasChronometer.cpp:10
OPENTREP::QuerySlices::clear
void clear()
Definition: QuerySlices.cpp:49
OPENTREP::StringPartition
Definition: StringPartition.hpp:35
OPENTREP::QuerySlices::_slices
StringPartitionList_T _slices
Definition: QuerySlices.hpp:163
OPENTREP::StructAbstract
Base class for the light structures.
Definition: StructAbstract.hpp:16
OPENTREP::QuerySlices::size
size_t size() const
Definition: QuerySlices.cpp:39
OPENTREP::QuerySlices::_database
const Xapian::Database & _database
Definition: QuerySlices.hpp:153
OPENTREP::QuerySlices::getStringPartitionList
const StringPartitionList_T & getStringPartitionList() const
Definition: QuerySlices.hpp:62
OPENTREP::QuerySlices::empty
bool empty() const
Definition: QuerySlices.cpp:44
StructAbstract.hpp
OPENTREP::QuerySlices::toStream
void toStream(std::ostream &ioOut) const
Definition: QuerySlices.cpp:90
OPENTREP::QuerySlices::_queryString
TravelQuery_T _queryString
Definition: QuerySlices.hpp:158
OPENTREP_Types.hpp
OPENTREP::QuerySlices::describe
std::string describe() const
Definition: QuerySlices.cpp:61