Пример #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();
    }
}
Пример #2
0
	iterator_range find_prefix(Iter first, Iter last)
	{
		return t.find_prefix(first, last);
	}
Пример #3
0
	reverse_iterator rend() 
	{
		return t.rend();
	}
Пример #4
0
	reverse_iterator rbegin() 
	{
		return t.rbegin();
	}
Пример #5
0
	const_iterator end() const
	{
		return t.end();
	}
Пример #6
0
	const_iterator cbegin() const
	{
		return t.cbegin();
	}
Пример #7
0
	iterator begin() 
	{
		return t.begin();
	}
Пример #8
0
	void swap(const trie_map_type& other)
	{
		t.swap(other.t);
	}
Пример #9
0
	iterator erase(const_iterator it)
	{
		return t.erase(it);
	}
Пример #10
0
	// erasions
	iterator erase(iterator it)
	{
		return t.erase(it);
	}
Пример #11
0
	iterator lower_bound(const Container& container)
	{
		return (iterator)t.lower_bound(container);
	}
Пример #12
0
	iterator lower_bound(Iter first, Iter last)
	{
		return (iterator)t.lower_bound(first, last);
	}
Пример #13
0
	iterator upper_bound(const Container& container)
	{
		return (iterator)t.upper_bound(container);
	}
Пример #14
0
	iterator upper_bound(Iter first, Iter last)
	{
		return (iterator)t.upper_bound(first, last);
	}
Пример #15
0
	iterator_range find_prefix(const Container& container)
	{
		return t.find_prefix(container);
	}
Пример #16
0
	size_type size() const
	{
		return t.size();
	}
Пример #17
0
	bool empty()
	{
		return t.empty();
	}
Пример #18
0
	reverse_iterator erase(reverse_iterator it)
	{
		return t.erase(it);
	}
Пример #19
0
	void clear()
	{
		t.clear();
	}
Пример #20
0
	reverse_iterator erase(const_reverse_iterator it)
	{
		return t.erase(it);
	}
Пример #21
0
	const_iterator begin() const
	{
		return t.begin();
	}
Пример #22
0
	iterator erase(const Container &container)
	{
		return t.erase(container);
	}
Пример #23
0
	iterator end() 
	{
		return t.end();
	}
Пример #24
0
	iterator erase(Iter first, Iter last)
	{
		return t.erase(first, last);
	}
Пример #25
0
	const_iterator cend() const
	{
		return t.cend();
	}
Пример #26
0
	size_type erase_prefix(const Container &container)
	{
		return t.erase_prefix(container);
	}
Пример #27
0
	const_reverse_iterator crbegin() const
	{
		return t.crbegin();
	}
Пример #28
0
	size_type erase_prefix(Iter first, Iter last)
	{
		return t.erase_prefix(first, last);
	}
Пример #29
0
	const_reverse_iterator rend() const
	{
		return t.rend();
	}
Пример #30
0
	size_type count_node() const
	{
		return t.count_node();
	}