In file included from /in/driver/main.cpp:8:0:
/in/kdtree.hpp: In member function 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMin(KDTree<std::tuple<_Elements ...>, ValueType>::Node*)':
/in/kdtree.hpp:280:40: error: 'less' was not declared in this scope
min = compareNode<DIM_CMP, less<>>(min, right_min);
^~~~
/in/kdtree.hpp:280:40: note: suggested alternative:
In file included from /usr/include/c++/7/string:48:0,
from /usr/include/c++/7/stdexcept:39,
from /usr/include/c++/7/array:39,
from /usr/include/c++/7/tuple:39,
from /in/kdtree.hpp:1,
from /in/driver/main.cpp:8:
/usr/include/c++/7/bits/stl_function.h:340:12: note: 'std::less'
struct less;
^~~~
In file included from /in/driver/main.cpp:8:0:
/in/kdtree.hpp:280:19: error: parse error in template argument list
min = compareNode<DIM_CMP, less<>>(min, right_min);
^~~~~~~~~~~~~~~~~~~~~~~~~~
/in/kdtree.hpp:282:36: error: 'less' was not declared in this scope
min = compareNode<DIM_CMP, less<>>(min, node);
^~~~
/in/kdtree.hpp:282:36: note: suggested alternative:
In file included from /usr/include/c++/7/string:48:0,
from /usr/include/c++/7/stdexcept:39,
from /usr/include/c++/7/array:39,
from /usr/include/c++/7/tuple:39,
from /in/kdtree.hpp:1,
from /in/driver/main.cpp:8:
/usr/include/c++/7/bits/stl_function.h:340:12: note: 'std::less'
struct less;
^~~~
In file included from /in/driver/main.cpp:8:0:
/in/kdtree.hpp:282:15: error: parse error in template argument list
min = compareNode<DIM_CMP, less<>>(min, node);
^~~~~~~~~~~~~~~~~~~~~~~~~~
/in/kdtree.hpp: In member function 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMax(KDTree<std::tuple<_Elements ...>, ValueType>::Node*)':
/in/kdtree.hpp:319:40: error: 'greater' was not declared in this scope
max = compareNode<DIM_CMP, greater<>>(left_max, max);
^~~~~~~
/in/kdtree.hpp:319:40: note: suggested alternative:
In file included from /usr/include/c++/7/string:48:0,
from /usr/include/c++/7/stdexcept:39,
from /usr/include/c++/7/array:39,
from /usr/include/c++/7/tuple:39,
from /in/kdtree.hpp:1,
from /in/driver/main.cpp:8:
/usr/include/c++/7/bits/stl_function.h:337:12: note: 'std::greater'
struct greater;
^~~~~~~
In file included from /in/driver/main.cpp:8:0:
/in/kdtree.hpp:319:19: error: parse error in template argument list
max = compareNode<DIM_CMP, greater<>>(left_max, max);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/in/kdtree.hpp:321:36: error: 'greater' was not declared in this scope
max = compareNode<DIM_CMP, greater<>>(node, max);
^~~~~~~
/in/kdtree.hpp:321:36: note: suggested alternative:
In file included from /usr/include/c++/7/string:48:0,
from /usr/include/c++/7/stdexcept:39,
from /usr/include/c++/7/array:39,
from /usr/include/c++/7/tuple:39,
from /in/kdtree.hpp:1,
from /in/driver/main.cpp:8:
/usr/include/c++/7/bits/stl_function.h:337:12: note: 'std::greater'
struct greater;
^~~~~~~
In file included from /in/driver/main.cpp:8:0:
/in/kdtree.hpp:321:15: error: parse error in template argument list
max = compareNode<DIM_CMP, greater<>>(node, max);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/in/kdtree.hpp: In instantiation of 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMin(KDTree<std::tuple<_Elements ...>, ValueType>::Node*) [with long unsigned int DIM_CMP = 0; long unsigned int DIM = 0; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]':
/in/kdtree.hpp:331:47: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMinDynamic(size_t) [with long unsigned int DIM = 0; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; size_t = long unsigned int]'
/in/kdtree.hpp:526:48: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::Iterator KDTree<std::tuple<_Elements ...>, ValueType>::findMin(size_t) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; size_t = long unsigned int]'
/in/driver/main.cpp:71:46: required from here
/in/kdtree.hpp:280:51: error: left operand of comma operator has no effect [-Werror=unused-value]
min = compareNode<DIM_CMP, less<>>(min, right_min);
~~~~^~~~~~~~~~~~
/in/kdtree.hpp:282:47: error: left operand of comma operator has no effect [-Werror=unused-value]
min = compareNode<DIM_CMP, less<>>(min, node);
~~~~^~~~~~~
/in/kdtree.hpp: In instantiation of 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMax(KDTree<std::tuple<_Elements ...>, ValueType>::Node*) [with long unsigned int DIM_CMP = 0; long unsigned int DIM = 0; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]':
/in/kdtree.hpp:341:47: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMaxDynamic(size_t) [with long unsigned int DIM = 0; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; size_t = long unsigned int]'
/in/kdtree.hpp:535:48: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::Iterator KDTree<std::tuple<_Elements ...>, ValueType>::findMax(size_t) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; size_t = long unsigned int]'
/in/driver/main.cpp:87:46: required from here
/in/kdtree.hpp:319:59: error: left operand of comma operator has no effect [-Werror=unused-value]
max = compareNode<DIM_CMP, greater<>>(left_max, max);
~~~~~~~~~^~~~~~
/in/kdtree.hpp:321:51: error: left operand of comma operator has no effect [-Werror=unused-value]
max = compareNode<DIM_CMP, greater<>>(node, max);
~~~~~^~~~~~
/in/kdtree.hpp: In instantiation of 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMin(KDTree<std::tuple<_Elements ...>, ValueType>::Node*) [with long unsigned int DIM_CMP = 0; long unsigned int DIM = 1; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]':
/in/kdtree.hpp:370:54: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::erase(KDTree<std::tuple<_Elements ...>, ValueType>::Node*, const Key&) [with long unsigned int DIM = 0; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; KDTree<std::tuple<_Elements ...>, ValueType>::Key = std::tuple<int, int, int>]'
/in/kdtree.hpp:540:17: required from 'bool KDTree<std::tuple<_Elements ...>, ValueType>::erase(const Key&) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; KDTree<std::tuple<_Elements ...>, ValueType>::Key = std::tuple<int, int, int>]'
/in/driver/main.cpp:105:33: required from here
/in/kdtree.hpp:280:51: error: left operand of comma operator has no effect [-Werror=unused-value]
min = compareNode<DIM_CMP, less<>>(min, right_min);
~~~~^~~~~~~~~~~~
/in/kdtree.hpp:282:47: error: left operand of comma operator has no effect [-Werror=unused-value]
min = compareNode<DIM_CMP, less<>>(min, node);
~~~~^~~~~~~
/in/kdtree.hpp: In instantiation of 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMax(KDTree<std::tuple<_Elements ...>, ValueType>::Node*) [with long unsigned int DIM_CMP = 0; long unsigned int DIM = 1; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]':
/in/kdtree.hpp:377:54: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::erase(KDTree<std::tuple<_Elements ...>, ValueType>::Node*, const Key&) [with long unsigned int DIM = 0; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; KDTree<std::tuple<_Elements ...>, ValueType>::Key = std::tuple<int, int, int>]'
/in/kdtree.hpp:540:17: required from 'bool KDTree<std::tuple<_Elements ...>, ValueType>::erase(const Key&) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; KDTree<std::tuple<_Elements ...>, ValueType>::Key = std::tuple<int, int, int>]'
/in/driver/main.cpp:105:33: required from here
/in/kdtree.hpp:319:59: error: left operand of comma operator has no effect [-Werror=unused-value]
max = compareNode<DIM_CMP, greater<>>(left_max, max);
~~~~~~~~~^~~~~~
/in/kdtree.hpp:321:51: error: left operand of comma operator has no effect [-Werror=unused-value]
max = compareNode<DIM_CMP, greater<>>(node, max);
~~~~~^~~~~~
/in/kdtree.hpp: In instantiation of 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMin(KDTree<std::tuple<_Elements ...>, ValueType>::Node*) [with long unsigned int DIM_CMP = 1; long unsigned int DIM = 0; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]':
/in/kdtree.hpp:331:47: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMinDynamic(size_t) [with long unsigned int DIM = 1; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; size_t = long unsigned int]'
/in/kdtree.hpp:332:40: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMinDynamic(size_t) [with long unsigned int DIM = 0; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; size_t = long unsigned int]'
/in/kdtree.hpp:526:48: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::Iterator KDTree<std::tuple<_Elements ...>, ValueType>::findMin(size_t) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; size_t = long unsigned int]'
/in/driver/main.cpp:71:46: required from here
/in/kdtree.hpp:280:51: error: left operand of comma operator has no effect [-Werror=unused-value]
min = compareNode<DIM_CMP, less<>>(min, right_min);
~~~~^~~~~~~~~~~~
/in/kdtree.hpp:282:47: error: left operand of comma operator has no effect [-Werror=unused-value]
min = compareNode<DIM_CMP, less<>>(min, node);
~~~~^~~~~~~
/in/kdtree.hpp: In instantiation of 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMax(KDTree<std::tuple<_Elements ...>, ValueType>::Node*) [with long unsigned int DIM_CMP = 1; long unsigned int DIM = 0; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]':
/in/kdtree.hpp:341:47: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMaxDynamic(size_t) [with long unsigned int DIM = 1; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; size_t = long unsigned int]'
/in/kdtree.hpp:342:40: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMaxDynamic(size_t) [with long unsigned int DIM = 0; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; size_t = long unsigned int]'
/in/kdtree.hpp:535:48: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::Iterator KDTree<std::tuple<_Elements ...>, ValueType>::findMax(size_t) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; size_t = long unsigned int]'
/in/driver/main.cpp:87:46: required from here
/in/kdtree.hpp:319:59: error: left operand of comma operator has no effect [-Werror=unused-value]
max = compareNode<DIM_CMP, greater<>>(left_max, max);
~~~~~~~~~^~~~~~
/in/kdtree.hpp:321:51: error: left operand of comma operator has no effect [-Werror=unused-value]
max = compareNode<DIM_CMP, greater<>>(node, max);
~~~~~^~~~~~
/in/kdtree.hpp: In instantiation of 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMin(KDTree<std::tuple<_Elements ...>, ValueType>::Node*) [with long unsigned int DIM_CMP = 0; long unsigned int DIM = 2; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]':
/in/kdtree.hpp:277:47: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMin(KDTree<std::tuple<_Elements ...>, ValueType>::Node*) [with long unsigned int DIM_CMP = 0; long unsigned int DIM = 1; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]'
/in/kdtree.hpp:370:54: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::erase(KDTree<std::tuple<_Elements ...>, ValueType>::Node*, const Key&) [with long unsigned int DIM = 0; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; KDTree<std::tuple<_Elements ...>, ValueType>::Key = std::tuple<int, int, int>]'
/in/kdtree.hpp:540:17: required from 'bool KDTree<std::tuple<_Elements ...>, ValueType>::erase(const Key&) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; KDTree<std::tuple<_Elements ...>, ValueType>::Key = std::tuple<int, int, int>]'
/in/driver/main.cpp:105:33: required from here
/in/kdtree.hpp:280:51: error: left operand of comma operator has no effect [-Werror=unused-value]
min = compareNode<DIM_CMP, less<>>(min, right_min);
~~~~^~~~~~~~~~~~
/in/kdtree.hpp:282:47: error: left operand of comma operator has no effect [-Werror=unused-value]
min = compareNode<DIM_CMP, less<>>(min, node);
~~~~^~~~~~~
/in/kdtree.hpp: In instantiation of 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMin(KDTree<std::tuple<_Elements ...>, ValueType>::Node*) [with long unsigned int DIM_CMP = 1; long unsigned int DIM = 2; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]':
/in/kdtree.hpp:370:54: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::erase(KDTree<std::tuple<_Elements ...>, ValueType>::Node*, const Key&) [with long unsigned int DIM = 1; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; KDTree<std::tuple<_Elements ...>, ValueType>::Key = std::tuple<int, int, int>]'
/in/kdtree.hpp:374:46: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::erase(KDTree<std::tuple<_Elements ...>, ValueType>::Node*, const Key&) [with long unsigned int DIM = 0; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; KDTree<std::tuple<_Elements ...>, ValueType>::Key = std::tuple<int, int, int>]'
/in/kdtree.hpp:540:17: required from 'bool KDTree<std::tuple<_Elements ...>, ValueType>::erase(const Key&) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; KDTree<std::tuple<_Elements ...>, ValueType>::Key = std::tuple<int, int, int>]'
/in/driver/main.cpp:105:33: required from here
/in/kdtree.hpp:280:51: error: left operand of comma operator has no effect [-Werror=unused-value]
min = compareNode<DIM_CMP, less<>>(min, right_min);
~~~~^~~~~~~~~~~~
/in/kdtree.hpp:282:47: error: left operand of comma operator has no effect [-Werror=unused-value]
min = compareNode<DIM_CMP, less<>>(min, node);
~~~~^~~~~~~
/in/kdtree.hpp: In instantiation of 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMax(KDTree<std::tuple<_Elements ...>, ValueType>::Node*) [with long unsigned int DIM_CMP = 1; long unsigned int DIM = 2; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]':
/in/kdtree.hpp:377:54: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::erase(KDTree<std::tuple<_Elements ...>, ValueType>::Node*, const Key&) [with long unsigned int DIM = 1; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; KDTree<std::tuple<_Elements ...>, ValueType>::Key = std::tuple<int, int, int>]'
/in/kdtree.hpp:374:46: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::erase(KDTree<std::tuple<_Elements ...>, ValueType>::Node*, const Key&) [with long unsigned int DIM = 0; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; KDTree<std::tuple<_Elements ...>, ValueType>::Key = std::tuple<int, int, int>]'
/in/kdtree.hpp:540:17: required from 'bool KDTree<std::tuple<_Elements ...>, ValueType>::erase(const Key&) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; KDTree<std::tuple<_Elements ...>, ValueType>::Key = std::tuple<int, int, int>]'
/in/driver/main.cpp:105:33: required from here
/in/kdtree.hpp:319:59: error: left operand of comma operator has no effect [-Werror=unused-value]
max = compareNode<DIM_CMP, greater<>>(left_max, max);
~~~~~~~~~^~~~~~
/in/kdtree.hpp:321:51: error: left operand of comma operator has no effect [-Werror=unused-value]
max = compareNode<DIM_CMP, greater<>>(node, max);
~~~~~^~~~~~
/in/kdtree.hpp: In instantiation of 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMax(KDTree<std::tuple<_Elements ...>, ValueType>::Node*) [with long unsigned int DIM_CMP = 0; long unsigned int DIM = 2; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]':
/in/kdtree.hpp:316:47: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMax(KDTree<std::tuple<_Elements ...>, ValueType>::Node*) [with long unsigned int DIM_CMP = 0; long unsigned int DIM = 1; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]'
/in/kdtree.hpp:377:54: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::erase(KDTree<std::tuple<_Elements ...>, ValueType>::Node*, const Key&) [with long unsigned int DIM = 0; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; KDTree<std::tuple<_Elements ...>, ValueType>::Key = std::tuple<int, int, int>]'
/in/kdtree.hpp:540:17: required from 'bool KDTree<std::tuple<_Elements ...>, ValueType>::erase(const Key&) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; KDTree<std::tuple<_Elements ...>, ValueType>::Key = std::tuple<int, int, int>]'
/in/driver/main.cpp:105:33: required from here
/in/kdtree.hpp:319:59: error: left operand of comma operator has no effect [-Werror=unused-value]
max = compareNode<DIM_CMP, greater<>>(left_max, max);
~~~~~~~~~^~~~~~
/in/kdtree.hpp:321:51: error: left operand of comma operator has no effect [-Werror=unused-value]
max = compareNode<DIM_CMP, greater<>>(node, max);
~~~~~^~~~~~
/in/kdtree.hpp: In instantiation of 'KDTr