29 if (iStringSet.
empty() ==
false) {
51 std::ostringstream oStr;
58 std::ostringstream oStr;
64 short idx_sublist = 0;
65 for (StringPartition_T::const_iterator itSet =
_partition.begin();
66 itSet !=
_partition.end(); ++itSet, ++idx_sublist) {
68 if (idx_sublist != 0) {
95 void StringPartition::init (
const std::string& iPhrase) {
117 const std::string lPhrase =
128 << nbOfWords <<
" words, and will be strip down to "
130 <<
" words, giving: ':" << lPhrase <<
"'");
136 nbOfWords = lWordList.size();
146 StringSet oStringSet (lPhrase);
151 if (nbOfWords <= 1) {
159 for (
NbOfWords_T idx_word = 1; idx_word != nbOfWords; ++idx_word) {
193 for (StringPartition_T::const_iterator itSet= lStringRHSPartition.begin();
194 itSet != lStringRHSPartition.end(); ++itSet) {
195 const StringSet& lRHSStringSet = *itSet;
203 StringSet lNewStringSet;
206 lNewStringSet.push_back (lLeftHandString);
209 lNewStringSet.push_back (lRHSStringSet);
234 for (StringPartition_T::const_iterator itSet =
_partition.begin();
239 for (StringSet::StringSet_T::const_iterator itString = lStringSet.begin();
240 itString != lStringSet.end(); ++itString) {
241 const std::string& lWordCombination = *itString;
244 WordSet_T::const_iterator itExistingString =
245 lStringList.find (lWordCombination);
246 if (itExistingString == lStringList.end()) {
248 lStringList.insert (lWordCombination);
254 for (WordSet_T::const_iterator itString = lStringList.begin();
255 itString != lStringList.end(); ++itString) {
256 const std::string& lWordCombination = *itString;
#define OPENTREP_LOG_DEBUG(iToBeLogged)
std::list< Word_T > WordList_T
void tokeniseStringIntoWordList(const std::string &iPhrase, WordList_T &ioWordList)
std::string createStringFromWordList(const WordList_T &iWordList, const NbOfWords_T iSplitIdx, const bool iFromBeginningFlag)
const NbOfWords_T K_DEFAULT_MAXIMUM_NUMBER_OF_WORDS_IN_STRING
std::set< std::string > WordSet_T
unsigned short NbOfWords_T
std::string describe() const
std::string _initialString
void toStream(std::ostream &ioOut) const
void push_back(const StringSet &iStringSet)
StringSet calculateUniqueCombinations() const
std::list< StringSet > StringPartition_T
void fromStream(std::istream &ioIn)
StringPartition_T _partition
StringPartition(const std::string &iStringToBePartitioned)
std::string describeKey() const
Class holding a set of strings, e.g., {"rio", "de", "janeiro"}.
void push_back(const std::string &)
std::list< std::string > StringSet_T