In file included from ../../../Extern/include/boost/functional/hash.hpp:6,
from ../../../Extern/include/boost/unordered/unordered_map.hpp:18,
from ../../../Extern/include/boost/unordered_map.hpp:17,
from char.h:4,
from char_skill.cpp:7:
../../../Extern/include/boost/container_hash/hash.hpp:502:57: note: candidate: 'template<class T> typename boost::hash_detail::float_numbers<T>::type boost::hash_value(T)'
502 | typename boost::hash_detail::float_numbers<T>::type hash_value(T v)
| ^~~~~~~~~~
../../../Extern/include/boost/container_hash/hash.hpp:502:57: note: template argument deduction/substitution failed:
../../../Extern/include/boost/container_hash/hash.hpp: In substitution of 'template<class T> typename boost::hash_detail::float_numbers<T>::type boost::hash_value(T) [with T = VID]':
../../../Extern/include/boost/container_hash/extensions.hpp:307:30: required from 'std::size_t boost::hash<T>:

perator()(const T&) const [with T = VID; std::size_t = unsigned int]'
../../../Extern/include/boost/unordered/detail/implementation.hpp:2599:20: required from 'static SizeT boost::unordered::detail:

rime_policy<SizeT>::apply_hash(const Hash&, const T&) [with Hash = boost::hash<VID>; T = VID; SizeT = unsigned int]'
../../../Extern/include/boost/unordered/detail/implementation.hpp:3569:36: required from 'std::size_t boost::unordered::detail::table<Types>::hash(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std:

air<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; std::size_t = unsigned int; boost::unordered::detail::table<Types>::const_key_type = const VID]'
../../../Extern/include/boost/unordered/detail/implementation.hpp:3581:39: required from 'boost::unordered::detail::table<Types>::node_pointer boost::unordered::detail::table<Types>::find_node(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std:

air<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; boost::unordered::detail::table<Types>::node_pointer = boost::unordered::detail:

tr_node<std:

air<const VID, unsigned int> >*; boost::unordered::detail::table<Types>::const_key_type = const VID]'
../../../Extern/include/boost/unordered/unordered_map.hpp:1804:14: required from 'boost::unordered::unordered_map<K, T, H, P, A>::iterator boost::unordered::unordered_map<K, T, H, P, A>::find(const key_type&) [with K = VID; T = unsigned int; H = boost::hash<VID>; P = std::equal_to<VID>; A = std::allocator<std:

air<const VID, unsigned int> >; boost::unordered::unordered_map<K, T, H, P, A>::iterator = boost::unordered::iterator_detail::iterator<boost::unordered::detail:

tr_node<std:

air<const VID, unsigned int> > >; boost::unordered::unordered_map<K, T, H, P, A>::key_type = VID]'
char_skill.cpp:4278:103: required from here
../../../Extern/include/boost/container_hash/hash.hpp:502:57: error: no type named 'type' in 'struct boost::hash_detail::float_numbers<VID>'
../../../Extern/include/boost/container_hash/extensions.hpp: In instantiation of 'std::size_t boost::hash<T>:

perator()(const T&) const [with T = VID; std::size_t = unsigned int]':
../../../Extern/include/boost/unordered/detail/implementation.hpp:2599:20: required from 'static SizeT boost::unordered::detail:

rime_policy<SizeT>::apply_hash(const Hash&, const T&) [with Hash = boost::hash<VID>; T = VID; SizeT = unsigned int]'
../../../Extern/include/boost/unordered/detail/implementation.hpp:3569:36: required from 'std::size_t boost::unordered::detail::table<Types>::hash(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std:

air<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; std::size_t = unsigned int; boost::unordered::detail::table<Types>::const_key_type = const VID]'
../../../Extern/include/boost/unordered/detail/implementation.hpp:3581:39: required from 'boost::unordered::detail::table<Types>::node_pointer boost::unordered::detail::table<Types>::find_node(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std:

air<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; boost::unordered::detail::table<Types>::node_pointer = boost::unordered::detail:

tr_node<std:

air<const VID, unsigned int> >*; boost::unordered::detail::table<Types>::const_key_type = const VID]'
../../../Extern/include/boost/unordered/unordered_map.hpp:1804:14: required from 'boost::unordered::unordered_map<K, T, H, P, A>::iterator boost::unordered::unordered_map<K, T, H, P, A>::find(const key_type&) [with K = VID; T = unsigned int; H = boost::hash<VID>; P = std::equal_to<VID>; A = std::allocator<std:

air<const VID, unsigned int> >; boost::unordered::unordered_map<K, T, H, P, A>::iterator = boost::unordered::iterator_detail::iterator<boost::unordered::detail:

tr_node<std:

air<const VID, unsigned int> > >; boost::unordered::unordered_map<K, T, H, P, A>::key_type = VID]'
char_skill.cpp:4278:103: required from here
../../../Extern/include/boost/container_hash/hash.hpp:536:24: note: candidate: 'std::size_t boost::hash_value(std::type_index)'
536 | inline std::size_t hash_value(std::type_index v)
| ^~~~~~~~~~
../../../Extern/include/boost/container_hash/hash.hpp:536:51: note: no known conversion for argument 1 from 'const VID' to 'std::type_index'
536 | inline std::size_t hash_value(std::type_index v)
| ~~~~~~~~~~~~~~~~^
../../../Extern/include/boost/container_hash/hash.hpp:543:24: note: candidate: 'std::size_t boost::hash_value(const std::error_code&)'
543 | inline std::size_t hash_value(std::error_code const& v) {
| ^~~~~~~~~~
../../../Extern/include/boost/container_hash/hash.hpp:543:58: note: no known conversion for argument 1 from 'const VID' to 'const std::error_code&'
543 | inline std::size_t hash_value(std::error_code const& v) {
| ~~~~~~~~~~~~~~~~~~~~~~~^
../../../Extern/include/boost/container_hash/hash.hpp:550:24: note: candidate: 'std::size_t boost::hash_value(const std::error_condition&)'
550 | inline std::size_t hash_value(std::error_condition const& v) {
| ^~~~~~~~~~
../../../Extern/include/boost/container_hash/hash.hpp:550:63: note: no known conversion for argument 1 from 'const VID' to 'const std::error_condition&'
550 | inline std::size_t hash_value(std::error_condition const& v) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
In file included from ../../../Extern/include/boost/container_hash/hash.hpp:761,
from ../../../Extern/include/boost/functional/hash.hpp:6,
from ../../../Extern/include/boost/unordered/unordered_map.hpp:18,
from ../../../Extern/include/boost/unordered_map.hpp:17,
from char.h:4,
from char_skill.cpp:7:
../../../Extern/include/boost/container_hash/extensions.hpp:65:17: note: candidate: 'template<class A, class B> std::size_t boost::hash_value(const std:

air<_T1, _T2>&)'
65 | std::size_t hash_value(std:

air<A, B> const& v)
| ^~~~~~~~~~
../../../Extern/include/boost/container_hash/extensions.hpp:65:17: note: template argument deduction/substitution failed:
In file included from ../../../Extern/include/boost/container_hash/hash.hpp:761,
from ../../../Extern/include/boost/functional/hash.hpp:6,
from ../../../Extern/include/boost/unordered/unordered_map.hpp:18,
from ../../../Extern/include/boost/unordered_map.hpp:17,
from char.h:4,
from char_skill.cpp:7:
../../../Extern/include/boost/container_hash/extensions.hpp:307:30: note: 'const VID' is not derived from 'const std:

air<_T1, _T2>'
307 | return hash_value(val);
| ~~~~~~~~~~^~~~~
In file included from ../../../Extern/include/boost/container_hash/hash.hpp:761,
from ../../../Extern/include/boost/functional/hash.hpp:6,
from ../../../Extern/include/boost/unordered/unordered_map.hpp:18,
from ../../../Extern/include/boost/unordered_map.hpp:17,
from char.h:4,
from char_skill.cpp:7:
../../../Extern/include/boost/container_hash/extensions.hpp:74:17: note: candidate: 'template<class T, class A> std::size_t boost::hash_value(const std::vector<_Tp, _Alloc>&)'
74 | std::size_t hash_value(std::vector<T, A> const& v)
| ^~~~~~~~~~
../../../Extern/include/boost/container_hash/extensions.hpp:74:17: note: template argument deduction/substitution failed:
In file included from ../../../Extern/include/boost/container_hash/hash.hpp:761,
from ../../../Extern/include/boost/functional/hash.hpp:6,
from ../../../Extern/include/boost/unordered/unordered_map.hpp:18,
from ../../../Extern/include/boost/unordered_map.hpp:17,
from char.h:4,
from char_skill.cpp:7:
../../../Extern/include/boost/container_hash/extensions.hpp:307:30: note: 'const VID' is not derived from 'const std::vector<_Tp, _Alloc>'
307 | return hash_value(val);
| ~~~~~~~~~~^~~~~
In file included from ../../../Extern/include/boost/container_hash/hash.hpp:761,
from ../../../Extern/include/boost/functional/hash.hpp:6,
from ../../../Extern/include/boost/unordered/unordered_map.hpp:18,
from ../../../Extern/include/boost/unordered_map.hpp:17,
from char.h:4,
from char_skill.cpp:7:
../../../Extern/include/boost/container_hash/extensions.hpp:80:17: note: candidate: 'template<class T, class A> std::size_t boost::hash_value(const std::__cxx11::list<_Tp, _Alloc>&)'
80 | std::size_t hash_value(std::list<T, A> const& v)
| ^~~~~~~~~~
../../../Extern/include/boost/container_hash/extensions.hpp:80:17: note: template argument deduction/substitution failed:
In file included from ../../../Extern/include/boost/container_hash/hash.hpp:761,
from ../../../Extern/include/boost/functional/hash.hpp:6,
from ../../../Extern/include/boost/unordered/unordered_map.hpp:18,
from ../../../Extern/include/boost/unordered_map.hpp:17,
from char.h:4,
from char_skill.cpp:7:
../../../Extern/include/boost/container_hash/extensions.hpp:307:30: note: 'const VID' is not derived from 'const std::__cxx11::list<_Tp, _Alloc>'
307 | return hash_value(val);
| ~~~~~~~~~~^~~~~
In file included from ../../../Extern/include/boost/container_hash/hash.hpp:761,
from ../../../Extern/include/boost/functional/hash.hpp:6,
from ../../../Extern/include/boost/unordered/unordered_map.hpp:18,
from ../../../Extern/include/boost/unordered_map.hpp:17,
from char.h:4,
from char_skill.cpp:7:
../../../Extern/include/boost/container_hash/extensions.hpp:86:17: note: candidate: 'template<class T, class A> std::size_t boost::hash_value(const std::deque<_Tp, _Alloc>&)'
86 | std::size_t hash_value(std::deque<T, A> const& v)
| ^~~~~~~~~~
../../../Extern/include/boost/container_hash/extensions.hpp:86:17: note: template argument deduction/substitution failed:
In file included from ../../../Extern/include/boost/container_hash/hash.hpp:761,
from ../../../Extern/include/boost/functional/hash.hpp:6,
from ../../../Extern/include/boost/unordered/unordered_map.hpp:18,
from ../../../Extern/include/boost/unordered_map.hpp:17,
from char.h:4,
from char_skill.cpp:7:
../../../Extern/include/boost/container_hash/extensions.hpp:307:30: note: 'const VID' is not derived from 'const std::deque<_Tp, _Alloc>'
307 | return hash_value(val);
| ~~~~~~~~~~^~~~~
In file included from ../../../Extern/include/boost/container_hash/hash.hpp:761,
from ../../../Extern/include/boost/functional/hash.hpp:6,
from ../../../Extern/include/boost/unordered/unordered_map.hpp:18,
from ../../../Extern/include/boost/unordered_map.hpp:17,
from char.h:4,
from char_skill.cpp:7:
../../../Extern/include/boost/container_hash/extensions.hpp:92:17: note: candidate: 'template<class K, class C, class A> std::size_t boost::hash_value(const std::set<_Key, _Compare, _Alloc>&)'
92 | std::size_t hash_value(std::set<K, C, A> const& v)
| ^~~~~~~~~~
../../../Extern/include/boost/container_hash/extensions.hpp:92:17: note: template argument deduction/substitution failed:
In file included from ../../../Extern/include/boost/container_hash/hash.hpp:761,
from ../../../Extern/include/boost/functional/hash.hpp:6,
from ../../../Extern/include/boost/unordered/unordered_map.hpp:18,
from ../../../Extern/include/boost/unordered_map.hpp:17,
from char.h:4,
from char_skill.cpp:7:
../../../Extern/include/boost/container_hash/extensions.hpp:307:30: note: 'const VID' is not derived from 'const std::set<_Key, _Compare, _Alloc>'
307 | return hash_value(val);