The template parameter for ResourceHashtable is currently in this order:
template<
typename K, typename V,
unsigned (*HASH) (K const&) = primitive_hash<K>,
bool (*EQUALS)(K const&, K const&) = primitive_equals<K>,
unsigned SIZE = 256,
ResourceObj::allocation_type ALLOC_TYPE = ResourceObj::RESOURCE_AREA,
MEMFLAGS MEM_TYPE = mtInternal
>
class ResourceHashtable {...}
However, more often than not, default values of HASH and EQUALS will be used, where the other parameters may need to be specified.
We should move the HASH and EQUALS parameters to the end of the parameter list.
template<
typename K, typename V,
unsigned (*HASH) (K const&) = primitive_hash<K>,
bool (*EQUALS)(K const&, K const&) = primitive_equals<K>,
unsigned SIZE = 256,
ResourceObj::allocation_type ALLOC_TYPE = ResourceObj::RESOURCE_AREA,
MEMFLAGS MEM_TYPE = mtInternal
>
class ResourceHashtable {...}
However, more often than not, default values of HASH and EQUALS will be used, where the other parameters may need to be specified.
We should move the HASH and EQUALS parameters to the end of the parameter list.