25#ifndef FSA_ACCESS_READER16_HPP
26#define FSA_ACCESS_READER16_HPP
32#include <boost/config.hpp>
33#include <boost/graph/adjacency_list.hpp>
34#include <boost/config.hpp>
37#include <boost/pending/indirect_cmp.hpp>
51template <
typename graphType>
52class FsaAccessReader16;
54template <
typename graphType>
58 void print(std::ostream& os)
const;
59 typename boost::graph_traits<graphType>::out_edge_iterator
out_edge;
60 typename boost::graph_traits<graphType>::out_edge_iterator
out_edge_end;
67template <
typename graphType>
71 void print(std::ostream& os)
const;
72 typename boost::graph_traits<graphType>::out_edge_iterator
out_edge;
73 typename boost::graph_traits<graphType>::out_edge_iterator
out_edge_end;
84template <
typename graphType>
89 typename boost::graph_traits<graphType>::vertex_descriptor node,
101 typename boost::graph_traits<graphType>::vertex_descriptor m_curr;
102 std::deque<iterator_context<graphType> > m_context_stack;
104 const graphType & m_graph;
110template <
typename graphType>
119 typename boost::graph_traits<graphType>::vertex_descriptor node,
120 const uint64_t offset );
122 const std::pair<uint64_t, uint64_t>
operator*()
const override;
131 const graphType & m_graph;
133 typename boost::graph_traits<graphType>::vertex_descriptor m_curr;
138template <
typename graphType>
143 typename boost::graph_traits<graphType>::vertex_descriptor nbMaxError,
153 typename boost::graph_traits<graphType>::vertex_descriptor m_curr;
154 std::deque<iterator_context<graphType> > m_context_stack;
156 const graphType & m_graph;
159 std::multimap<unsigned int,ApproxSuggestion> suggestions;
166template <
typename graphType>
178 virtual std::pair< AccessSuperWordIterator, AccessSuperWordIterator >
180 virtual std::pair<AccessSubWordIterator,AccessSubWordIterator >
190 void read (
const std::string & filename );
191 void read ( std::istream& is );
196 int computeHash(
typename boost::graph_traits<graphType>::vertex_descriptor from );
199 typename boost::graph_traits<graphType>::vertex_descriptor
212#include "common/FsaAccess/FsaAccessReader16.tcc"
define abstract interface for access method
defines abstract interface for iterators on superwords
defines abstract interface for iterators on subwords
defines abstract interface for iterators on superwords
clonable approxworditerator specificapproxworditerator for a specific access method should inherits f...
clonable subworditerator specific subworditerator for a specific access method should inherits from t...
clonable superworditerator specific superworditerator for a specific access method should inherits fr...
LimaString getExtent(const LimaString &prefix) const
virtual uint64_t getSize() const override
gives the number of entries
void read(const std::string &filename)
virtual std::pair< AccessSuperWordIterator, AccessSuperWordIterator > getSuperWords(const LimaString &word) const override
void read(std::istream &is)
void read(AbstractFsaAccessIStreamWrapper &iw)
FsaAccessReader16(bool trie_direction_fwd)
virtual std::pair< AccessSubWordIterator, AccessSubWordIterator > getSubWords(const uint64_t offset, const LimaString &word) const override
LimaString getSpelling(const uint64_t index) const override
get string from index
void read(FsaAccessDataInputHandler &is)
virtual ~FsaAccessReader16()
virtual uint64_t getIndex(const LimaString &word) const override
int computeHash(typename boost::graph_traits< graphType >::vertex_descriptor from)
Lima::LimaChar * cinputPos
boost::graph_traits< graphType >::out_edge_iterator out_edge
boost::graph_traits< graphType >::out_edge_iterator out_edge_end
void print(std::ostream &os) const
const LimaChar * word_content
bool operator!=(const AbstractApproxWordIterator &it) const override
fsaReader_approx_iterator16(const FsaAccessReader16< graphType > &dico, typename boost::graph_traits< graphType >::vertex_descriptor nbMaxError, const LimaString &word)
fsaReader_approx_iterator16(const FsaAccessReader16< graphType > &dico)
bool operator==(const AbstractApproxWordIterator &it) const override
virtual ClonableApproxWordIterator * clone() const override
const ApproxSuggestion operator*() const override
fsaReader_approx_iterator16 & operator++(int) override
const std::pair< uint64_t, uint64_t > operator*() const override
gives subword data.
fsaReader_subword_iterator16(const FsaAccessReader16< graphType > &dico, const LimaString &word, typename boost::graph_traits< graphType >::vertex_descriptor node, const uint64_t offset)
bool operator==(const AbstractSubWordIterator &it) const override
~fsaReader_subword_iterator16()
fsaReader_subword_iterator16 & operator++(int) override
fsaReader_subword_iterator16(const fsaReader_subword_iterator16 &iter)
bool operator!=(const AbstractSubWordIterator &it) const override
fsaReader_subword_iterator16(const FsaAccessReader16< graphType > &dico, const LimaString &word)
virtual ClonableSubWordIterator * clone() const override
fsaReader_superword_iterator16(const FsaAccessReader16< graphType > &dico, typename boost::graph_traits< graphType >::vertex_descriptor node, const LimaString &prefix)
fsaReader_superword_iterator16 & operator=(const fsaReader_superword_iterator16 &)=delete
bool operator!=(const AbstractSuperWordIterator &it) const override
fsaReader_superword_iterator16 & operator++(int) override
fsaReader_superword_iterator16(const FsaAccessReader16< graphType > &dico, const LimaString &prefix)
virtual ClonableSuperWordIterator * clone() const override
const LimaString operator*() const override
fsaReader_superword_iterator16(const fsaReader_superword_iterator16 &)=default
bool operator==(const AbstractSuperWordIterator &it) const override
boost::graph_traits< graphType >::out_edge_iterator out_edge
const LimaChar * word_content
void print(std::ostream &os) const
boost::graph_traits< graphType >::out_edge_iterator out_edge_end