In file included from /in/driver/main.cpp:5:0:
/in/hashtable.hpp: In instantiation of 'HashTable<Key, Value, Hash, KeyEqual>::Iterator HashTable<Key, Value, Hash, KeyEqual>::find(const Key&) [with Key = int; Value = int; Hash = std::hash<int>; KeyEqual = std::equal_to<int>]':
/in/driver/main.cpp:101:34: required from here
/in/hashtable.hpp:270:14: error: request for member 'hashTable' in 'temp', which is of non-class type 'HashTable<int, int, std::hash<int>, std::equal_to<int> >::Iterator()'
temp.hashTable=this;
~~~~~^~~~~~~~~
/in/hashtable.hpp:271:14: error: request for member 'bucketIt' in 'temp', which is of non-class type 'HashTable<int, int, std::hash<int>, std::equal_to<int> >::Iterator()'
temp.bucketIt=this->buckets.begin()+location;
~~~~~^~~~~~~~
/in/hashtable.hpp:272:14: error: request for member 'listItBefore' in 'temp', which is of non-class type 'HashTable<int, int, std::hash<int>, std::equal_to<int> >::Iterator()'
temp.listItBefore=temp.bucketIt->before_begin();
~~~~~^~~~~~~~~~~~
/in/hashtable.hpp:272:32: error: request for member 'bucketIt' in 'temp', which is of non-class type 'HashTable<int, int, std::hash<int>, std::equal_to<int> >::Iterator()'
temp.listItBefore=temp.bucketIt->before_begin();
~~~~~^~~~~~~~
/in/hashtable.hpp:273:14: error: request for member 'endFlag' in 'temp', which is of non-class type 'HashTable<int, int, std::hash<int>, std::equal_to<int> >::Iterator()'
temp.endFlag=false;
~~~~~^~~~~~~
/in/hashtable.hpp:274:34: error: request for member 'bucketIt' in 'temp', which is of non-class type 'HashTable<int, int, std::hash<int>, std::equal_to<int> >::Iterator()'
for(auto iterator = temp.bucketIt->begin(); iterator!=temp.bucketIt->end(); iterator++, temp.listItBefore++){
~~~~~^~~~~~~~
/in/hashtable.hpp:274:68: error: request for member 'bucketIt' in 'temp', which is of non-class type 'HashTable<int, int, std::hash<int>, std::equal_to<int> >::Iterator()'
for(auto iterator = temp.bucketIt->begin(); iterator!=temp.bucketIt->end(); iterator++, temp.listItBefore++){
~~~~~^~~~~~~~
/in/hashtable.hpp:274:102: error: request for member 'listItBefore' in 'temp', which is of non-class type 'HashTable<int, int, std::hash<int>, std::equal_to<int> >::Iterator()'
for(auto iterator = temp.bucketIt->begin(); iterator!=temp.bucketIt->end(); iterator++, temp.listItBefore++){
~~~~~^~~~~~~~~~~~
/in/hashtable.hpp:276:24: error: could not convert 'temp' from 'HashTable<int, int, std::hash<int>, std::equal_to<int> >::Iterator()' to 'HashTable<int, int, std::hash<int>, std::equal_to<int> >::Iterator'
return temp;
^~~~
/in/hashtable.hpp:278:14: error: request for member 'endFlag' in 'temp', which is of non-class type 'HashTable<int, int, std::hash<int>, std::equal_to<int> >::Iterator()'
temp.endFlag = true;
~~~~~^~~~~~~
/in/hashtable.hpp:279:16: error: could not convert 'temp' from 'HashTable<int, int, std::hash<int>, std::equal_to<int> >::Iterator()' to 'HashTable<int, int, std::hash<int>, std::equal_to<int> >::Iterator'
return temp;
^~~~
/in/hashtable.hpp: In instantiation of 'bool HashTable<Key, Value, Hash, KeyEqual>::erase(const Key&) [with Key = int; Value = int; Hash = std::hash<int>; KeyEqual = std::equal_to<int>]':
/in/driver/main.cpp:120:35: required from here
/in/hashtable.hpp:348:21: error: base operand of '->' has non-pointer type 'std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >'
if(!iterator->empty()){
^~~~~~~~
/in/hashtable.hpp:349:40: error: no match for 'operator=' (operand types are 'std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > >::iterator {aka __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >}' and 'std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >')
this->firstBucketIt=iterator;
~~~~~~~~~~~~~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/ostream:38,
from /usr/include/c++/7/iostream:39,
from /in/driver/main.cpp:1:
/usr/include/c++/7/bits/stl_iterator.h:763:11: note: candidate: constexpr __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >& __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >::operator=(const __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >&)
class __normal_iterator
^~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:763:11: note: no known conversion for argument 1 from 'std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >' to 'const __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >&'
/usr/include/c++/7/bits/stl_iterator.h:763:11: note: candidate: constexpr __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >& __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >::operator=(__gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >&&)
/usr/include/c++/7/bits/stl_iterator.h:763:11: note: no known conversion for argument 1 from 'std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >' to '__gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >&&'
In file included from /in/driver/main.cpp:5:0:
/in/hashtable.hpp: In instantiation of 'Value& HashTable<Key, Value, Hash, KeyEqual>::operator[](const Key&) [with Key = int; Value = int; Hash = std::hash<int>; KeyEqual = std::equal_to<int>]':
/in/driver/main.cpp:129:94: required from here
/in/hashtable.hpp:404:17: error: base operand of '->' has non-pointer type 'std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >'
if(!iterator->empty()){
^~~~~~~~
/in/hashtable.hpp:405:36: error: no match for 'operator=' (operand types are 'std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > >::iterator {aka __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >}' and 'std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >')
this->firstBucketIt=iterator;
~~~~~~~~~~~~~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/ostream:38,
from /usr/include/c++/7/iostream:39,
from /in/driver/main.cpp:1:
/usr/include/c++/7/bits/stl_iterator.h:763:11: note: candidate: constexpr __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >& __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >::operator=(const __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >&)
class __normal_iterator
^~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:763:11: note: no known conversion for argument 1 from 'std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >' to 'const __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >&'
/usr/include/c++/7/bits/stl_iterator.h:763:11: note: candidate: constexpr __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >& __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >::operator=(__gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >&&)
/usr/include/c++/7/bits/stl_iterator.h:763:11: note: no known conversion for argument 1 from 'std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >' to '__gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >&&'
In file included from /in/driver/main.cpp:5:0:
/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:330: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:300:20: error: base operand of '->' has non-pointer type 'std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >'
if(!iterator->empty()){
^~~~~~~~
/in/hashtable.hpp:301:39: error: no match for 'operator=' (operand types are 'std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > >::iterator {aka __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >}' and 'std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >')
this->firstBucketIt=iterator;
~~~~~~~~~~~~~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/ostream:38,
from /usr/include/c++/7/iostream:39,
from /in/driver/main.cpp:1:
/usr/include/c++/7/bits/stl_iterator.h:763:11: note: candidate: constexpr __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >& __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >::operator=(const __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >&)
class __normal_iterator
^~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:763:11: note: no known conversion for argument 1 from 'std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >' to 'const __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >&'
/usr/include/c++/7/bits/stl_iterator.h:763:11: note: candidate: constexpr __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >& __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >::operator=(__gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >&&)
/usr/include/c++/7/bits/stl_iterator.h:763:11: note: no known conversion for argument 1 from 'std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >' to '__gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >&&'
In file included from /in/driver/main.cpp:5:0:
/in/hashtable.hpp:312:28: error: no match for 'operator+' (operand types are 'const ListIterator {aka const std::_Fwd_list_iterator<std::pair<const int, int> >}' and 'int')
(it.listItBefore+1)->second = value;
~~~~~~~~~~~~~~~~^~~
In file included from /usr/include/c++/7/vector:65:0,
from /usr/include/c++/7/functional:61,
from /in/hashtable.hpp:4,
from /in/driver/main.cpp:5:
/usr/include/c++/7/bits/stl_bvector.h:387:3: note: candidate: std::_Bit_const_iterator std::operator+(std::ptrdiff_t, const std::_Bit_const_iterator&)
operator+(ptrdiff_t __n, const _Bit_const_iterator& __x)
^~~~~~~~
/usr/include/c++/7/bits/stl_bvector.h:387:3: note: no known conversion for argument 1 from 'const ListIterator {aka const std::_Fwd_list_iterator<std::pair<const int, int> >}' to 'std::ptrdiff_t {aka long int}'
/usr/include/c++/7/bits/stl_bvector.h:297:3: note: candidate: std::_Bit_iterator std::operator+(std::ptrdiff_t, const std::_Bit_iterator&)
operator+(ptrdiff_t __n, const _Bit_iterator& __x)
^~~~~~~~
/usr/include/c++/7/bits/stl_bvector.h:297:3: note: no known conversion for argument 1 from 'const ListIterator {aka const std::_Fwd_list_iterator<std::pair<const int, int> >}' to 'std::ptrdiff_t {aka long int}'
In file included from /usr/include/c++/7/string:52:0,
from /usr/include/c++/7/bits/locale_classes.h:40,
from /usr/include/c++/7/bits/ios_base.h:41,
from /usr/include/c++/7/ios:42,
from /usr/include/c++/7/ostream:38,
from /usr/include/c++/7/iostream:39,
from /in/driver/main.cpp:1:
/usr/include/c++/7/bits/basic_string.h:5995:5: note: candidate: template<class