liblevenshtein 4.0.0
A library for generating Finite State Transducers based on Levenshtein Automata.
|
#include <algorithm>
#include <cstddef>
#include <filesystem>
#include <fstream>
#include <iostream>
#include <map>
#include <string>
#include <utility>
#include <vector>
#include <google/protobuf/stubs/common.h>
#include <liblevenshtein/collection/dawg.h>
#include <liblevenshtein/collection/sorted_dawg.h>
#include <liblevenshtein/serialization/serializer.h>
#include <liblevenshtein/transducer/algorithm.h>
#include <liblevenshtein/transducer/transducer.h>
#include "command_line.h"
Go to the source code of this file.
Functions | |
template<ll::Algorithm Type> | |
void | query (ll::Dawg *dawg, const std::string &query_term, std::size_t max_distance) |
std::string & | prompt (std::string &query_term) |
auto | main (int argc, char *argv[]) -> int |
Definition at line 58 of file main.cpp.
References liblevenshtein::demo::CommandLine::algorithm(), liblevenshtein::deserialize_protobuf(), liblevenshtein::demo::CommandLine::dictionary_path(), liblevenshtein::demo::CommandLine::parse_opts(), prompt(), query(), liblevenshtein::demo::CommandLine::return_code(), liblevenshtein::demo::CommandLine::serialization_path(), and liblevenshtein::sorted_dawg().
std::string & prompt | ( | std::string & | query_term | ) |
Definition at line 50 of file main.cpp.
Referenced by main().
void query | ( | ll::Dawg * | dawg, |
const std::string & | query_term, | ||
std::size_t | max_distance ) |
NOTE: If you had initialized the transducer as
ll::Transducer<Type, std::string> transduce(dawg->root());
, you would iterate over the results as follows:
for (const std::string &term : transduce(query_term, max_distance)) { // do something with term, which is guaranteed to require no more // than max_distance operations to transform it into the query_term. }
Definition at line 25 of file main.cpp.
References liblevenshtein::Dawg::root().
Referenced by liblevenshtein::SortedDawg::add(), liblevenshtein::State::add(), liblevenshtein::DawgNode::add_edge(), liblevenshtein::DawgIterator::advance(), liblevenshtein::LazyQuery< Result >::advance(), liblevenshtein::Dawg::all_nodes(), liblevenshtein::LazyIterator< Result >::begin(), liblevenshtein::distance::MergeAndSplitDistance::between(), liblevenshtein::distance::StandardDistance::between(), liblevenshtein::distance::TranspositionDistance::between(), liblevenshtein::LazyQuery< Result >::build_intersection(), liblevenshtein::LazyQuery< Result >::characteristic_vector(), liblevenshtein::collect_edges(), liblevenshtein::collect_nodes(), liblevenshtein::compare< Algorithm::MERGE_AND_SPLIT >(), liblevenshtein::compare< Algorithm::STANDARD >(), liblevenshtein::compare< Algorithm::TRANSPOSITION >(), liblevenshtein::Dawg::contains(), liblevenshtein::SortedDawg::Dawg(), liblevenshtein::DawgIterator::DawgIterator(), liblevenshtein::deserialize_protobuf(), liblevenshtein::deserialize_protobuf(), liblevenshtein::deserialize_protobuf(), liblevenshtein::deserialize_protobuf(), liblevenshtein::distance< Algorithm::MERGE_AND_SPLIT >(), liblevenshtein::distance< Algorithm::STANDARD >(), liblevenshtein::distance< Algorithm::TRANSPOSITION >(), liblevenshtein::LazyIterator< Result >::end(), liblevenshtein::distance::MemoizedDistance::f(), liblevenshtein::State::find_middle(), liblevenshtein::DawgNode::for_each_edge(), liblevenshtein::from_protobuf(), liblevenshtein::distance::MemoizedDistance::get(), liblevenshtein::index_of(), liblevenshtein::StateIterator::insert(), liblevenshtein::State::insert_after(), liblevenshtein::insert_after(), liblevenshtein::LazyQuery< Result >::LazyQuery(), main(), liblevenshtein::State::merge(), liblevenshtein::merge< Algorithm::MERGE_AND_SPLIT >(), liblevenshtein::merge< Algorithm::STANDARD >(), liblevenshtein::merge< Algorithm::TRANSPOSITION >(), liblevenshtein::State::merge_sort(), liblevenshtein::SortedDawg::minimize(), liblevenshtein::SortedDawg::minimized_node(), std::hash< liblevenshtein::Dawg >::operator()(), std::hash< liblevenshtein::DawgNode >::operator()(), liblevenshtein::Transducer< Type, Result >::operator()(), liblevenshtein::distance::Distance::operator()(), liblevenshtein::StateTransition::operator()(), liblevenshtein::UnsubsumeFn::operator()(), liblevenshtein::operator<<(), liblevenshtein::Dawg::operator==(), liblevenshtein::DawgIterator::operator==(), liblevenshtein::DawgNode::operator==(), liblevenshtein::StateIterator::operator==(), liblevenshtein::distance::SymmetricPair::operator==(), liblevenshtein::Transition::operator==(), liblevenshtein::position_transition< Algorithm::MERGE_AND_SPLIT >(), liblevenshtein::position_transition< Algorithm::STANDARD >(), liblevenshtein::position_transition< Algorithm::TRANSPOSITION >(), liblevenshtein::State::remove(), liblevenshtein::serialize_protobuf(), liblevenshtein::serialize_protobuf(), liblevenshtein::serialize_protobuf(), liblevenshtein::serialize_protobuf(), liblevenshtein::distance::MemoizedDistance::set(), liblevenshtein::sorted_dawg(), liblevenshtein::State::State(), liblevenshtein::State::State(), liblevenshtein::Prefix::str(), liblevenshtein::Intersection::str(), liblevenshtein::subsumes< Algorithm::MERGE_AND_SPLIT >(), liblevenshtein::subsumes< Algorithm::STANDARD >(), liblevenshtein::subsumes< Algorithm::TRANSPOSITION >(), liblevenshtein::distance::SymmetricPair::SymmetricPair(), liblevenshtein::to_protobuf(), liblevenshtein::Transducer< Type, Result >::Transducer(), liblevenshtein::DawgNode::transition(), liblevenshtein::LazyQuery< Result >::update_candidate(), liblevenshtein::DawgIterator::~DawgIterator(), and liblevenshtein::LazyQuery< Result >::~LazyQuery().