In file included from /in/driver/main.cpp:5:0:
/in/hashtable.hpp: In member function 'size_t HashTable<Key, Value, Hash, KeyEqual>::findMinimumBucketSize(size_t) const':
/in/hashtable.hpp:178:60: error: 'ceil' is not a member of 'std'
size_t minSize = std::max(static_cast<size_t>(std::ceil(static_cast<double>(tableSize) / maxLoadFactor)), bucketSize);
^~~~
/in/hashtable.hpp:178:60: note: suggested alternative: 'cerr'
size_t minSize = std::max(static_cast<size_t>(std::ceil(static_cast<double>(tableSize) / maxLoadFactor)), bucketSize);
^~~~
cerr
/in/hashtable.hpp: In copy constructor 'HashTable<Key, Value, Hash, KeyEqual>::HashTable(const HashTable<Key, Value, Hash, KeyEqual>&)':
/in/hashtable.hpp:208:33: error: expression cannot be used as a function
tableSize(that.tableSize),
^
/in/hashtable.hpp:209:41: error: expression cannot be used as a function
maxLoadFactor(that.maxLoadFactor),
^
/in/hashtable.hpp:212:9: error: expected ';' before 'firstBucketIt'
firstBucketIt = that.firstBucketIt;
^~~~~~~~~~~~~
/in/hashtable.hpp: In instantiation of 'bool HashTable<Key, Value, Hash, KeyEqual>::insert(const HashTable<Key, Value, Hash, KeyEqual>::Iterator&, const Key&, const Value&) [with Key = int; Value = int; Hash = std::hash<int>; KeyEqual = std::equal_to<int>]':
/in/hashtable.hpp:320:22: required from 'bool HashTable<Key, Value, Hash, KeyEqual>::insert(const Key&, const Value&) [with Key = int; Value = int; Hash = std::hash<int>; KeyEqual = std::equal_to<int>]'
/in/driver/main.cpp:111:43: required from here
/in/hashtable.hpp:287:38: error: passing 'const HashTable<int, int, std::hash<int>, std::equal_to<int> >::Iterator' as 'this' argument discards qualifiers [-fpermissive]
if (it != end() && keyEqual((*it).first, key)) {
~^~~~
/in/hashtable.hpp:127:19: note: in call to 'HashTable<Key, Value, Hash, KeyEqual>::HashNode& HashTable<Key, Value, Hash, KeyEqual>::Iterator::operator*() [with Key = int; Value = int; Hash = std::hash<int>; KeyEqual = std::equal_to<int>; HashTable<Key, Value, Hash, KeyEqual>::HashNode = std::pair<const int, int>]'
HashNode &operator*() {
^~~~~~~~