Esempio n. 1
0
std::string FindWord(const trie_type& trie, const std::string& keys, size_t alternative)
{
    typedef std::vector<Word>   Words;

    trie_type::result_type candidates = trie.find(keys);
    
    Words::const_iterator match;
    Words words(candidates.first, candidates.second);
    std::sort(words.begin(), words.end(), boost::mem_fn(&Word::MoreFrequent));

    for (Words::const_iterator word = words.begin(); word != words.end(); ++word)
    {
        match = word;

        if (alternative == 0)
        {
            break;
        }
        else
        {
            --alternative;
        }
    }

    if (match == words.end())
    {
        return "No alternative";
    }
    else
    {
        return match->str();
    }
}
Esempio n. 2
0
	iterator_range find_prefix(Iter first, Iter last)
	{
		return t.find_prefix(first, last);
	}
Esempio n. 3
0
	reverse_iterator rend() 
	{
		return t.rend();
	}
Esempio n. 4
0
	reverse_iterator rbegin() 
	{
		return t.rbegin();
	}
Esempio n. 5
0
	const_iterator end() const
	{
		return t.end();
	}
Esempio n. 6
0
	const_iterator cbegin() const
	{
		return t.cbegin();
	}
Esempio n. 7
0
	iterator begin() 
	{
		return t.begin();
	}
Esempio n. 8
0
	void swap(const trie_map_type& other)
	{
		t.swap(other.t);
	}
Esempio n. 9
0
	iterator erase(const_iterator it)
	{
		return t.erase(it);
	}
Esempio n. 10
0
	// erasions
	iterator erase(iterator it)
	{
		return t.erase(it);
	}
Esempio n. 11
0
	iterator lower_bound(const Container& container)
	{
		return (iterator)t.lower_bound(container);
	}
Esempio n. 12
0
	iterator lower_bound(Iter first, Iter last)
	{
		return (iterator)t.lower_bound(first, last);
	}
Esempio n. 13
0
	iterator upper_bound(const Container& container)
	{
		return (iterator)t.upper_bound(container);
	}
Esempio n. 14
0
	iterator upper_bound(Iter first, Iter last)
	{
		return (iterator)t.upper_bound(first, last);
	}
Esempio n. 15
0
	iterator_range find_prefix(const Container& container)
	{
		return t.find_prefix(container);
	}
Esempio n. 16
0
	size_type size() const
	{
		return t.size();
	}
Esempio n. 17
0
	bool empty()
	{
		return t.empty();
	}
Esempio n. 18
0
	reverse_iterator erase(reverse_iterator it)
	{
		return t.erase(it);
	}
Esempio n. 19
0
	void clear()
	{
		t.clear();
	}
Esempio n. 20
0
	reverse_iterator erase(const_reverse_iterator it)
	{
		return t.erase(it);
	}
Esempio n. 21
0
	const_iterator begin() const
	{
		return t.begin();
	}
Esempio n. 22
0
	iterator erase(const Container &container)
	{
		return t.erase(container);
	}
Esempio n. 23
0
	iterator end() 
	{
		return t.end();
	}
Esempio n. 24
0
	iterator erase(Iter first, Iter last)
	{
		return t.erase(first, last);
	}
Esempio n. 25
0
	const_iterator cend() const
	{
		return t.cend();
	}
Esempio n. 26
0
	size_type erase_prefix(const Container &container)
	{
		return t.erase_prefix(container);
	}
Esempio n. 27
0
	const_reverse_iterator crbegin() const
	{
		return t.crbegin();
	}
Esempio n. 28
0
	size_type erase_prefix(Iter first, Iter last)
	{
		return t.erase_prefix(first, last);
	}
Esempio n. 29
0
	const_reverse_iterator rend() const
	{
		return t.rend();
	}
Esempio n. 30
0
	size_type count_node() const
	{
		return t.count_node();
	}