0_0_31559568_26263.cpp:168:55: error: wrong number of template arguments (0, should be 1)
class ConvexHullTricks : public multiset<Line<T>, less<>> {
^
In file included from GCC4.9.2/x86_64-w64-mingw32/include/c++/string:48:0,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/random:40,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/bits/stl_algo.h:66,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/algorithm:62,
from 0_0_31559568_26263.cpp:1:
GCC4.9.2/x86_64-w64-mingw32/include/c++/bits/stl_function.h:367:12: error: provided for 'template<class _Tp> struct std::less'
struct less : public binary_function<_Tp, _Tp, bool>
^
0_0_31559568_26263.cpp:168:56: error: template argument 2 is invalid
class ConvexHullTricks : public multiset<Line<T>, less<>> {
^
0_0_31559568_26263.cpp:212:51: error: wrong number of template arguments (0, should be 1)
using Iterator = typename multiset<Line<T>, less<>>::iterator;
^
In file included from GCC4.9.2/x86_64-w64-mingw32/include/c++/string:48:0,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/random:40,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/bits/stl_algo.h:66,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/algorithm:62,
from 0_0_31559568_26263.cpp:1:
GCC4.9.2/x86_64-w64-mingw32/include/c++/bits/stl_function.h:367:12: error: provided for 'template<class _Tp> struct std::less'
struct less : public binary_function<_Tp, _Tp, bool>
^
0_0_31559568_26263.cpp:212:52: error: template argument 2 is invalid
using Iterator = typename multiset<Line<T>, less<>>::iterator;
^
0_0_31559568_26263.cpp:214:28: error: 'Iterator' does not name a type
inline void update(const Iterator &x, const Iterator &y) {
^
0_0_31559568_26263.cpp:214:47: error: 'Iterator' does not name a type
inline void update(const Iterator &x, const Iterator &y) {
^
0_0_31559568_26263.cpp:227:29: error: 'Iterator' does not name a type
inline bool inOrder(const Iterator &x, const Iterator &y) const {
^
0_0_31559568_26263.cpp:227:48: error: 'Iterator' does not name a type
inline bool inOrder(const Iterator &x, const Iterator &y) const {
^
0_0_31559568_26263.cpp: In member function 'void collections::ConvexHullTricks<T>::update(const int&, const int&)':
0_0_31559568_26263.cpp:216:8: error: base operand of '->' is not a pointer
x->num = 1;
^
0_0_31559568_26263.cpp:217:8: error: base operand of '->' is not a pointer
x->den = 0;
^
0_0_31559568_26263.cpp:218:17: error: base operand of '->' is not a pointer
} else if (x->a == y->a) {
^
0_0_31559568_26263.cpp:218:25: error: base operand of '->' is not a pointer
} else if (x->a == y->a) {
^
0_0_31559568_26263.cpp:219:8: error: base operand of '->' is not a pointer
x->num = x->b > y->b ? 1 : -1;
^
0_0_31559568_26263.cpp:219:17: error: base operand of '->' is not a pointer
x->num = x->b > y->b ? 1 : -1;
^
0_0_31559568_26263.cpp:219:24: error: base operand of '->' is not a pointer
x->num = x->b > y->b ? 1 : -1;
^
0_0_31559568_26263.cpp:220:8: error: base operand of '->' is not a pointer
x->den = 0;
^
0_0_31559568_26263.cpp:222:8: error: base operand of '->' is not a pointer
x->num = y->b - x->b;
^
0_0_31559568_26263.cpp:222:17: error: base operand of '->' is not a pointer
x->num = y->b - x->b;
^
0_0_31559568_26263.cpp:222:24: error: base operand of '->' is not a pointer
x->num = y->b - x->b;
^
0_0_31559568_26263.cpp:223:8: error: base operand of '->' is not a pointer
x->den = x->a - y->a;
^
0_0_31559568_26263.cpp:223:17: error: base operand of '->' is not a pointer
x->den = x->a - y->a;
^
0_0_31559568_26263.cpp:223:24: error: base operand of '->' is not a pointer
x->den = x->a - y->a;
^
0_0_31559568_26263.cpp: In member function 'bool collections::ConvexHullTricks<T>::inOrder(const int&, const int&) const':
0_0_31559568_26263.cpp:229:28: error: base operand of '->' is not a pointer
sgnFraction<T>(x->num, x->den, y->num, y->den) < 0;
^
0_0_31559568_26263.cpp:229:36: error: base operand of '->' is not a pointer
sgnFraction<T>(x->num, x->den, y->num, y->den) < 0;
^
0_0_31559568_26263.cpp:229:44: error: base operand of '->' is not a pointer
sgnFraction<T>(x->num, x->den, y->num, y->den) < 0;
^
0_0_31559568_26263.cpp:229:52: error: base operand of '->' is not a pointer
sgnFraction<T>(x->num, x->den, y->num, y->den) < 0;
^
0_0_31559568_26263.cpp: In instantiation of 'void collections::ConvexHullTricks<T>::initQueryMax(bool) [with T = long long int]':
0_0_31559568_26263.cpp:259:26: required from here
0_0_31559568_26263.cpp:172:5: error: 'class collections::ConvexHullTricks<long long int>' has no member named 'clear'
this->clear();
^
0_0_31559568_26263.cpp: In instantiation of 'void collections::ConvexHullTricks<T>::add(T, T) [with T = long long int]':
0_0_31559568_26263.cpp:260:21: required from here
0_0_31559568_26263.cpp:180:32: error: 'class collections::ConvexHullTricks<long long int>' has no member named 'emplace'
auto y = this->emplace(a, b);
^
0_0_31559568_26263.cpp:185:9: error: 'class collections::ConvexHullTricks<long long int>' has no member named 'erase'
z = this->erase(z);
^
0_0_31559568_26263.cpp:189:11: error: 'class collections::ConvexHullTricks<long long int>' has no member named 'begin'
if (y == this->begin()) {
^
0_0_31559568_26263.cpp:195:9: error: 'class collections::ConvexHullTricks<long long int>' has no member named 'erase'
y = this->erase(y);
^
0_0_31559568_26263.cpp:199:19: error: 'class collections::ConvexHullTricks<long long int>' has no member named 'begin'
for (y = x; x != this->begin() && !inOrder(--x, y); y = x) {
^
0_0_31559568_26263.cpp:200:31: error: 'class collections::ConvexHullTricks<long long int>' has no member named 'erase'
update(x, this->erase(y));
^
In file included from GCC4.9.2/x86_64-w64-mingw32/include/c++/cassert:43:0,
from 0_0_31559568_26263.cpp:3:
0_0_31559568_26263.cpp: In instantiation of 'T collections::ConvexHullTricks<T>::query(T) const [with T = long long int]':
0_0_31559568_26263.cpp:270:48: required from here
0_0_31559568_26263.cpp:205:12: error: 'const class collections::ConvexHullTricks<long long int>' has no member named 'empty'
assert(!this->empty());
^
0_0_31559568_26263.cpp:206:33: error: 'const class collections::ConvexHullTricks<long long int>' has no member named 'lower_bound'
auto l = this->lower_bound(x);
^
|