17 #ifndef AWALI_MISC_LINKEDHASHMAP_HH
18 #define AWALI_MISC_LINKEDHASHMAP_HH
20 #include<unordered_map>
30 template<
typename K,
typename V>
33 std::unordered_map<K,V> map_;
36 const std::vector<K>&
domain()
const {
42 list_.emplace_back(k);
46 unsigned count(
const K& k)
const {
56 template<
typename K,
typename V>
60 typename std::vector<K>::const_iterator current_;
73 return map_[*current_];
81 return current_==it.current_;
85 return current_!=it.current_;
89 template<
typename K,
typename V>
automaton_t domain(transducer_t tdc)
Returns the automaton corresponding to the second tape of the transducer.
auto map(const std::tuple< Ts... > &ts, Fun f) -> decltype(map_tuple_(f, ts, make_index_sequence< sizeof...(Ts)>()))
Map a function on a tuple, return tuple of the results.
Definition: tuple.hh:134
Main namespace of Awali.
Definition: ato.hh:22
Definition: linkedhashmap.hh:57
lhm_values_const_iterator & operator++()
Definition: linkedhashmap.hh:76
lhm_values_const_iterator(linked_hash_map< K, V > &map)
Definition: linkedhashmap.hh:62
lhm_values_const_iterator & operator!=(const lhm_values_const_iterator &it) const
Definition: linkedhashmap.hh:84
lhm_values_const_iterator & operator==(const lhm_values_const_iterator &it) const
Definition: linkedhashmap.hh:80
lhm_values_const_iterator(linked_hash_map< K, V > &map, typename std::vector< K >::const_iterator ¤t)
Definition: linkedhashmap.hh:67
const V & operator*() const
Definition: linkedhashmap.hh:72
Definition: linkedhashmap.hh:90
lhm_values(linked_hash_map< K, V > &map)
Definition: linkedhashmap.hh:95
iterator begin() const
Definition: linkedhashmap.hh:99
iterator end() const
Definition: linkedhashmap.hh:103
Definition: linkedhashmap.hh:31
unsigned count(const K &k) const
Definition: linkedhashmap.hh:46
const std::vector< K > & domain() const
Definition: linkedhashmap.hh:36
V & operator[](const K &k)
Definition: linkedhashmap.hh:40
void clear()
Definition: linkedhashmap.hh:50