Skip to content

clang-8: error: static_assert failed due to requirement 'integral_constant<bool, false>::value' "the specified hash does not meet the Hash requirements" #309

@yurivict

Description

@yurivict
In file included from /usr/include/c++/v1/unordered_map:408:
/usr/include/c++/v1/__hash_table:868:5: error: static_assert failed due to requirement 'integral_constant<bool, false>::value' "the specified hash does not meet the Hash requirements"
    static_assert(__check_hash_requirements<_Key, _Hash>::value,
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/__hash_table:883:1: note: in instantiation of template class 'std::__1::__enforce_unordered_container_requirements<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >' requested here
typename __enforce_unordered_container_requirements<_Key, _Hash, _Equal>::type
^
/usr/include/c++/v1/unordered_map:856:26: note: while substituting explicitly-specified template arguments into function template '__diagnose_unordered_container_requirements' 
    static_assert(sizeof(__diagnose_unordered_container_requirements<_Key, _Hash, _Pred>(0)), "");
                         ^
/usr/ports/cad/vtr-verilog-to-routing/work/vtr-verilog-to-routing-596caca/ODIN_II/SRC/include/Hashtable.hpp:33:40: note: in instantiation of template class 'std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void *, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void *> > >' requested here
        std::unordered_map<std::string,void*> my_map;
                                              ^
In file included from /usr/ports/cad/vtr-verilog-to-routing/work/vtr-verilog-to-routing-596caca/ODIN_II/SRC/Hashtable.cpp:27:
In file included from /usr/ports/cad/vtr-verilog-to-routing/work/vtr-verilog-to-routing-596caca/ODIN_II/SRC/include/Hashtable.hpp:28:
/usr/include/c++/v1/unordered_map:444:17: error: type 'const std::__1::hash<std::__1::basic_string<char> >' does not provide a call operator
        {return static_cast<const _Hash&>(*this)(__x);}
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/__hash_table:2487:21: note: in instantiation of member function 'std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >, std::__1::hash<std::__1::basic_string<char> >, true>::operator()' requested here
    size_t __hash = hash_function()(__k);
                    ^
/usr/include/c++/v1/__hash_table:2716:35: note: in instantiation of function template specialization 'std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >, std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >, std::__1::hash<std::__1::basic_string<char> >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >, std::__1::equal_to<std::__1::basic_string<char> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > > > >::find<std::__1::basic_string<char> >' requested here
    return static_cast<size_type>(find(__k) != end());
                                  ^
/usr/include/c++/v1/unordered_map:1278:65: note: in instantiation of function template specialization 'std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >, std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >, std::__1::hash<std::__1::basic_string<char> >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >, std::__1::equal_to<std::__1::basic_string<char> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > > > >::__count_unique<std::__1::basic_string<char> >' requested here
    size_type count(const key_type& __k) const {return __table_.__count_unique(__k);}
                                                                ^
/usr/ports/cad/vtr-verilog-to-routing/work/vtr-verilog-to-routing-596caca/libs/libarchfpga/src/physical_types.h:111:22: note: in instantiation of member function 'std::__1::unordered_map<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> >, std::__1::hash<std::__1::basic_string<char> >, std::__1::equal_to<std::__1::basic_string<char> >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > > > >::count' requested here
        return this->count(key) >= 1;
                     ^
In file included from /usr/ports/cad/vtr-verilog-to-routing/work/vtr-verilog-to-routing-596caca/ODIN_II/SRC/Hashtable.cpp:27:
In file included from /usr/ports/cad/vtr-verilog-to-routing/work/vtr-verilog-to-routing-596caca/ODIN_II/SRC/include/Hashtable.hpp:28:
In file included from /usr/include/c++/v1/unordered_map:408:
/usr/include/c++/v1/__hash_table:2104:21: error: no matching function for call to object of type 'std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >, std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >, std::__1::hash<std::__1::basic_string<char> >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >, std::__1::equal_to<std::__1::basic_string<char> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > > > >::hasher' (aka 'std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >, std::__1::hash<std::__1::basic_string<char> >, true>')
    size_t __hash = hash_function()(__k);
                    ^~~~~~~~~~~~~~~
/usr/include/c++/v1/__hash_table:1090:16: note: in instantiation of function template specialization 'std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >, std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >, std::__1::hash<std::__1::basic_string<char> >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >, std::__1::equal_to<std::__1::basic_string<char> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > > > >::__emplace_unique_key_args<std::__1::basic_string<char>, std::__1::basic_string<char> &, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >' requested here
        return __emplace_unique_key_args(__f, _VSTD::forward<_First>(__f),
               ^
/usr/include/c++/v1/unordered_map:1080:25: note: in instantiation of function template specialization 'std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >, std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >, std::__1::hash<std::__1::basic_string<char> >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >, std::__1::equal_to<std::__1::basic_string<char> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > > > >::__emplace_unique<std::__1::basic_string<char> &, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >' requested here
        return __table_.__emplace_unique(_VSTD::forward<_Args>(__args)...);
                        ^
/usr/ports/cad/vtr-verilog-to-routing/work/vtr-verilog-to-routing-596caca/libs/libarchfpga/src/physical_types.h:144:36: note: in instantiation of function template specialization 'std::__1::unordered_map<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> >, std::__1::hash<std::__1::basic_string<char> >, std::__1::equal_to<std::__1::basic_string<char> >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > > > >::emplace<std::__1::basic_string<char> &, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >' requested here
        auto iter_inserted = this->emplace(key, std::vector<t_metadata_value>());
                                   ^
/usr/include/c++/v1/unordered_map:440:12: note: candidate function not viable: no known conversion from 'const std::__1::basic_string<char>' to 'const std::__1::__hash_value_type<std::__1::basic_string<char>, std::__1::vector<t_metadata_value, std::__1::allocator<t_metadata_value> > >' for 1st argument
    size_t operator()(const _Cp& __x) const
           ^
/usr/include/c++/v1/unordered_map:444:17: error: type 'const std::__1::hash<std::__1::basic_string<char> >' does not provide a call operator
        {return static_cast<const _Hash&>(*this)(__x);}
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/__hash_table:2104:21: note: in instantiation of member function 'std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::hash<std::__1::basic_string<char> >, true>::operator()' requested here
    size_t __hash = hash_function()(__k);
                    ^
/usr/include/c++/v1/__hash_table:1130:14: note: in instantiation of function template specialization 'std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::hash<std::__1::basic_string<char> >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::equal_to<std::__1::basic_string<char> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char>, void *> > >::__emplace_unique_key_args<std::__1::basic_string<char>, std::__1::pair<const std::__1::basic_string<char>, void *> >' requested here
      return __emplace_unique_key_args(_NodeTypes::__get_key(__x), _VSTD::move(__x));
             ^
/usr/include/c++/v1/unordered_map:1043:26: note: in instantiation of member function 'std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::hash<std::__1::basic_string<char> >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::equal_to<std::__1::basic_string<char> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char>, void *> > >::__insert_unique' requested here
        {return __table_.__insert_unique(_VSTD::move(__x));}
                         ^
/usr/ports/cad/vtr-verilog-to-routing/work/vtr-verilog-to-routing-596caca/ODIN_II/SRC/Hashtable.cpp:39:15: note: in instantiation of member function 'std::__1::unordered_map<std::__1::basic_string<char>, void *, std::__1::hash<std::__1::basic_string<char> >, std::__1::equal_to<std::__1::basic_string<char> >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, void *> > >::insert' requested here
        this->my_map.insert({key,item});
                     ^
In file included from /usr/ports/cad/vtr-verilog-to-routing/work/vtr-verilog-to-routing-596caca/ODIN_II/SRC/Hashtable.cpp:27:
In file included from /usr/ports/cad/vtr-verilog-to-routing/work/vtr-verilog-to-routing-596caca/ODIN_II/SRC/include/Hashtable.hpp:28:
In file included from /usr/include/c++/v1/unordered_map:408:
/usr/include/c++/v1/__hash_table:2456:21: error: no matching function for call to object of type 'std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::hash<std::__1::basic_string<char> >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::equal_to<std::__1::basic_string<char> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char>, void *> > >::hasher' (aka 'std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::hash<std::__1::basic_string<char> >, true>')
    size_t __hash = hash_function()(__k);
                    ^~~~~~~~~~~~~~~
/usr/include/c++/v1/unordered_map:1274:69: note: in instantiation of function template specialization 'std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::hash<std::__1::basic_string<char> >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::equal_to<std::__1::basic_string<char> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char>, void *> > >::find<std::__1::basic_string<char> >' requested here
    iterator       find(const key_type& __k)       {return __table_.find(__k);}
                                                                    ^
/usr/ports/cad/vtr-verilog-to-routing/work/vtr-verilog-to-routing-596caca/ODIN_II/SRC/Hashtable.cpp:45:24: note: in instantiation of member function 'std::__1::unordered_map<std::__1::basic_string<char>, void *, std::__1::hash<std::__1::basic_string<char> >, std::__1::equal_to<std::__1::basic_string<char> >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, void *> > >::find' requested here
        auto v = this->my_map.find(key);
                              ^
/usr/include/c++/v1/unordered_map:440:12: note: candidate function not viable: no known conversion from 'const std::__1::basic_string<char>' to 'const std::__1::__hash_value_type<std::__1::basic_string<char>, void *>' for 1st argument
    size_t operator()(const _Cp& __x) const
           ^
In file included from /usr/ports/cad/vtr-verilog-to-routing/work/vtr-verilog-to-routing-596caca/ODIN_II/SRC/Hashtable.cpp:27:
In file included from /usr/ports/cad/vtr-verilog-to-routing/work/vtr-verilog-to-routing-596caca/ODIN_II/SRC/include/Hashtable.hpp:28:
In file included from /usr/include/c++/v1/unordered_map:408:
/usr/include/c++/v1/__hash_table:2104:21: error: no matching function for call to object of type 'std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::hash<std::__1::basic_string<char> >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::equal_to<std::__1::basic_string<char> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char>, void *> > >::hasher' (aka 'std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::hash<std::__1::basic_string<char> >, true>')
    size_t __hash = hash_function()(__k);
                    ^~~~~~~~~~~~~~~
/usr/include/c++/v1/unordered_map:1558:21: note: in instantiation of function template specialization 'std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::hash<std::__1::basic_string<char> >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::equal_to<std::__1::basic_string<char> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char>, void *> > >::__emplace_unique_key_args<std::__1::basic_string<char>, const std::__1::piecewise_construct_t &, std::__1::tuple<const std::__1::basic_string<char> &>, std::__1::tuple<> >' requested here
    return __table_.__emplace_unique_key_args(__k,
                    ^
/usr/ports/cad/vtr-verilog-to-routing/work/vtr-verilog-to-routing-596caca/ODIN_II/SRC/Hashtable.cpp:48:23: note: in instantiation of member function 'std::__1::unordered_map<std::__1::basic_string<char>, void *, std::__1::hash<std::__1::basic_string<char> >, std::__1::equal_to<std::__1::basic_string<char> >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, void *> > >::operator[]' requested here
                value = this->my_map[key];
                                    ^
/usr/include/c++/v1/unordered_map:440:12: note: candidate function not viable: no known conversion from 'const std::__1::basic_string<char>' to 'const std::__1::__hash_value_type<std::__1::basic_string<char>, void *>' for 1st argument
    size_t operator()(const _Cp& __x) const
           ^
In file included from /usr/ports/cad/vtr-verilog-to-routing/work/vtr-verilog-to-routing-596caca/ODIN_II/SRC/Hashtable.cpp:27:
In file included from /usr/ports/cad/vtr-verilog-to-routing/work/vtr-verilog-to-routing-596caca/ODIN_II/SRC/include/Hashtable.hpp:28:
In file included from /usr/include/c++/v1/unordered_map:408:
/usr/include/c++/v1/__hash_table:2633:14: error: no viable conversion from 'std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::hash<std::__1::basic_string<char> >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::equal_to<std::__1::basic_string<char> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char>, void *> > >::const_iterator' (aka '__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, void *> *>') to 'std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::hash<std::__1::basic_string<char> >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::equal_to<std::__1::basic_string<char> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char>, void *> > >::iterator' (aka '__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, void *> *>')
    iterator __i = find(__k);
             ^     ~~~~~~~~~
/usr/include/c++/v1/unordered_map:1191:59: note: in instantiation of function template specialization 'std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::hash<std::__1::basic_string<char> >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::equal_to<std::__1::basic_string<char> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char>, void *> > >::__erase_unique<std::__1::basic_string<char> >' requested here
    size_type erase(const key_type& __k) {return __table_.__erase_unique(__k);}
                                                          ^
/usr/ports/cad/vtr-verilog-to-routing/work/vtr-verilog-to-routing-596caca/ODIN_II/SRC/Hashtable.cpp:49:16: note: in instantiation of member function 'std::__1::unordered_map<std::__1::basic_string<char>, void *, std::__1::hash<std::__1::basic_string<char> >, std::__1::equal_to<std::__1::basic_string<char> >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, void *> > >::erase' requested here
                this->my_map.erase(key);
                             ^
/usr/include/c++/v1/__hash_table:283:28: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::hash<std::__1::basic_string<char> >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::equal_to<std::__1::basic_string<char> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char>, void *> > >::const_iterator' (aka '__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, void *> *>') to 'const std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, void *> *> &' for 1st argument
class _LIBCPP_TEMPLATE_VIS __hash_iterator
                           ^
/usr/include/c++/v1/__hash_table:283:28: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::hash<std::__1::basic_string<char> >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::equal_to<std::__1::basic_string<char> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char>, void *> > >::const_iterator' (aka '__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, void *> *>') to 'std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, void *> *> &&' for 1st argument
class _LIBCPP_TEMPLATE_VIS __hash_iterator
                           ^
/usr/include/c++/v1/__hash_table:377:5: note: candidate constructor not viable: no known conversion from 'std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::hash<std::__1::basic_string<char> >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::equal_to<std::__1::basic_string<char> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char>, void *> > >::const_iterator' (aka '__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, void *> *>') to 'std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, void *> *>::__next_pointer' (aka 'std::__1::__hash_node_base<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, void *> *> *') for 1st argument
    __hash_iterator(__next_pointer __node) _NOEXCEPT
    ^
/usr/include/c++/v1/__hash_table:2487:21: error: no matching function for call to object of type 'const std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::hash<std::__1::basic_string<char> >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::equal_to<std::__1::basic_string<char> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char>, void *> > >::hasher' (aka 'const std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::hash<std::__1::basic_string<char> >, true>')
    size_t __hash = hash_function()(__k);
                    ^~~~~~~~~~~~~~~
/usr/include/c++/v1/__hash_table:2633:20: note: in instantiation of function template specialization 'std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::hash<std::__1::basic_string<char> >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::equal_to<std::__1::basic_string<char> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char>, void *> > >::find<std::__1::basic_string<char> >' requested here
    iterator __i = find(__k);
                   ^
/usr/include/c++/v1/unordered_map:1191:59: note: in instantiation of function template specialization 'std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::__unordered_map_hasher<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::hash<std::__1::basic_string<char> >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char>, std::__1::__hash_value_type<std::__1::basic_string<char>, void *>, std::__1::equal_to<std::__1::basic_string<char> >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char>, void *> > >::__erase_unique<std::__1::basic_string<char> >' requested here
    size_type erase(const key_type& __k) {return __table_.__erase_unique(__k);}
                                                          ^
/usr/ports/cad/vtr-verilog-to-routing/work/vtr-verilog-to-routing-596caca/ODIN_II/SRC/Hashtable.cpp:49:16: note: in instantiation of member function 'std::__1::unordered_map<std::__1::basic_string<char>, void *, std::__1::hash<std::__1::basic_string<char> >, std::__1::equal_to<std::__1::basic_string<char> >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, void *> > >::erase' requested here
                this->my_map.erase(key);
                             ^
/usr/include/c++/v1/unordered_map:440:12: note: candidate function not viable: no known conversion from 'const std::__1::basic_string<char>' to 'const std::__1::__hash_value_type<std::__1::basic_string<char>, void *>' for 1st argument
    size_t operator()(const _Cp& __x) const
           ^
8 errors generated.

FreeBSD 12

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions