OpenTREP Logo  0.07.7
C++ Open Travel Request Parsing Library
StringPartition.hpp
Go to the documentation of this file.
1 #ifndef __OPENTREP_BOM_STRINGPARTITION_HPP
2 #define __OPENTREP_BOM_STRINGPARTITION_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <string>
9 #include <list>
10 // OpenTrep
14 
15 namespace OPENTREP {
16 
35  struct StringPartition : public StructAbstract {
36  // //////////////// Type definitions //////////////////
40  typedef std::list<StringSet> StringPartition_T;
41 
42  public:
49  void push_back (const StringSet& iStringSet);
50 
54  size_t size() const;
55 
59  bool empty() const;
60 
64  void clear();
65 
70  const std::string& getInitialString() const {
71  return _initialString;
72  }
73 
91 
92 
93  private:
102  void init (const std::string& iStringToBePartitioned);
103 
104 
105  public:
106  // /////////// Display support methods /////////
112  void toStream (std::ostream& ioOut) const;
113 
119  void fromStream (std::istream& ioIn);
120 
125  std::string describeKey() const;
126 
130  std::string describe() const;
131 
132 
133  public:
134  // //////////////// Constructors and Destructors /////////////
140  StringPartition (const std::string& iStringToBePartitioned);
141 
146 
147 
148  public:
149  // //////////////// Attributes ///////////////
153  std::string _initialString;
154 
159  };
160 
161 
162  // //////////////// Type definitions //////////////////
166  typedef std::list<StringPartition> StringPartitionList_T;
167 
168 }
169 #endif // __OPENTREP_BOM_STRINGPARTITION_HPP
OPENTREP::StringPartition::size
size_t size() const
Definition: StringPartition.cpp:35
OPENTREP::StringPartition::calculateUniqueCombinations
StringSet calculateUniqueCombinations() const
Definition: StringPartition.cpp:226
OPENTREP::StringPartition::fromStream
void fromStream(std::istream &ioIn)
Definition: StringPartition.cpp:91
OPENTREP::StringPartition::push_back
void push_back(const StringSet &iStringSet)
Definition: StringPartition.cpp:28
OPENTREP::StringSet
Class holding a set of strings, e.g., {"rio", "de", "janeiro"}.
Definition: StringSet.hpp:19
StringSet.hpp
OPENTREP::StringPartition::~StringPartition
~StringPartition()
Definition: StringPartition.cpp:24
OPENTREP::StringPartition::getInitialString
const std::string & getInitialString() const
Definition: StringPartition.hpp:70
OPENTREP::StringPartition::clear
void clear()
Definition: StringPartition.cpp:45
OPENTREP::StringPartition::_partition
StringPartition_T _partition
Definition: StringPartition.hpp:158
OPENTREP::StringPartitionList_T
std::list< StringPartition > StringPartitionList_T
Definition: StringPartition.hpp:166
OPENTREP
Definition: BasChronometer.cpp:10
OPENTREP::StringPartition
Definition: StringPartition.hpp:35
OPENTREP::StringPartition::describe
std::string describe() const
Definition: StringPartition.cpp:57
OPENTREP::StringPartition::StringPartition
StringPartition(const std::string &iStringToBePartitioned)
Definition: StringPartition.cpp:18
OPENTREP::StringPartition::empty
bool empty() const
Definition: StringPartition.cpp:40
OPENTREP::StructAbstract
Base class for the light structures.
Definition: StructAbstract.hpp:16
OPENTREP::StringPartition::toStream
void toStream(std::ostream &ioOut) const
Definition: StringPartition.cpp:86
OPENTREP::StringPartition::StringPartition_T
std::list< StringSet > StringPartition_T
Definition: StringPartition.hpp:40
StructAbstract.hpp
OPENTREP::StringPartition::describeKey
std::string describeKey() const
Definition: StringPartition.cpp:50
OPENTREP::StringPartition::_initialString
std::string _initialString
Definition: StringPartition.hpp:153
OPENTREP_Types.hpp