6#ifndef FSA_PREFIX_ITERATOR_HPP
7#define FSA_PREFIX_ITERATOR_HPP
18class ForwardPrefixIterator;
19class ReversePrefixIterator;
27 const uint64_t offset);
29 const int32_t word_length,
const int32_t wordPos);
32 void print(std::ostream& os)
const;
36 virtual void next(
const int32_t wordOffset) = 0;
38 int32_t getWordPos()
const;
57 int32_t getExternalWordPos()
const override;
59 const uint64_t offset=0);
62 char32_t getNextLetter(int32_t& wordOffset)
const override;
63 bool hasNextLetter()
const override;
64 void next(
const int32_t wordOffset)
override;
65 void terminate()
override;
66 const LimaString getTotalPrefix()
const override;
67 const LimaString getPastPrefix()
const override;
68 const LimaString getCurrentPrefix()
const override;
70 int32_t findEdge(
const char32_t searchChar, int32_t wordOffset, int32_t highCharTextPos )
const;
77 int32_t getExternalWordPos()
const override;
79 const uint64_t offset=0);
82 char32_t getNextLetter(int32_t& wordOffset)
const override;
83 bool hasNextLetter()
const override;
84 void next(
const int32_t wordOffset)
override;
85 void terminate()
override;
86 const LimaString getTotalPrefix()
const override;
87 const LimaString getPastPrefix()
const override;
88 const LimaString getCurrentPrefix()
const override;
QDebug & operator<<(QDebug &qd, const std::string &str)
#define LIMA_FSAACCESS_EXPORT
virtual int32_t getExternalWordPos() const =0
virtual void next(const int32_t wordOffset)=0
virtual const Lima::LimaChar * getCurrentContent() const =0
virtual bool hasNextLetter() const =0
virtual PrefixIterator * clone(const PrefixIterator *const orig) const =0
virtual const LimaString getTotalPrefix() const =0
const Lima::LimaChar *const m_word_content
PrefixIterator & operator=(const PrefixIterator &)
int32_t getWordPos() const
virtual char32_t getNextLetter(int32_t &wordOffset) const =0
virtual const LimaString getPastPrefix() const =0
virtual ~PrefixIterator()
virtual void terminate()=0
virtual const LimaString getCurrentPrefix() const =0