bubblesort2.cpp:4:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
#pragma GCC optimization ("O3")
bubblesort2.cpp:5:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
#pragma GCC optimization ("unroll-loops")
bubblesort2.cpp:21:42: error: reference to 'empty' is ambiguous
node(int val,pair<int,int> cur,node* lf=empty,node *rt=empty,node *par=empty):par(par),cur(cur),val(val),sz(1+lf->sz+rt->sz),ch({lf,rt}),mx(val),lazy(0){}
^~~~~
bubblesort2.cpp:10:14: note: candidates are: node* empty
extern node* empty;
^~~~~
In file included from /usr/include/c++/7/vector:66:0,
from bubblesort2.h:1,
from bubblesort2.cpp:1:
/usr/include/c++/7/bits/range_access.h:280:5: note: template<class _Tp> constexpr bool std::empty(std::initializer_list<_Tp>)
empty(initializer_list<_Tp> __il) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:271:5: note: template<class _Tp, long unsigned int _Nm> constexpr bool std::empty(const _Tp (&)[_Nm])
empty(const _Tp (&/*__array*/)[_Nm]) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:261:5: note: template<class _Container> constexpr decltype (__cont.empty()) std::empty(const _Container&)
empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
^~~~~
bubblesort2.cpp:21:57: error: reference to 'empty' is ambiguous
node(int val,pair<int,int> cur,node* lf=empty,node *rt=empty,node *par=empty):par(par),cur(cur),val(val),sz(1+lf->sz+rt->sz),ch({lf,rt}),mx(val),lazy(0){}
^~~~~
bubblesort2.cpp:10:14: note: candidates are: node* empty
extern node* empty;
^~~~~
In file included from /usr/include/c++/7/vector:66:0,
from bubblesort2.h:1,
from bubblesort2.cpp:1:
/usr/include/c++/7/bits/range_access.h:280:5: note: template<class _Tp> constexpr bool std::empty(std::initializer_list<_Tp>)
empty(initializer_list<_Tp> __il) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:271:5: note: template<class _Tp, long unsigned int _Nm> constexpr bool std::empty(const _Tp (&)[_Nm])
empty(const _Tp (&/*__array*/)[_Nm]) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:261:5: note: template<class _Container> constexpr decltype (__cont.empty()) std::empty(const _Container&)
empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
^~~~~
bubblesort2.cpp:21:73: error: reference to 'empty' is ambiguous
node(int val,pair<int,int> cur,node* lf=empty,node *rt=empty,node *par=empty):par(par),cur(cur),val(val),sz(1+lf->sz+rt->sz),ch({lf,rt}),mx(val),lazy(0){}
^~~~~
bubblesort2.cpp:10:14: note: candidates are: node* empty
extern node* empty;
^~~~~
In file included from /usr/include/c++/7/vector:66:0,
from bubblesort2.h:1,
from bubblesort2.cpp:1:
/usr/include/c++/7/bits/range_access.h:280:5: note: template<class _Tp> constexpr bool std::empty(std::initializer_list<_Tp>)
empty(initializer_list<_Tp> __il) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:271:5: note: template<class _Tp, long unsigned int _Nm> constexpr bool std::empty(const _Tp (&)[_Nm])
empty(const _Tp (&/*__array*/)[_Nm]) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:261:5: note: template<class _Container> constexpr decltype (__cont.empty()) std::empty(const _Container&)
empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
^~~~~
bubblesort2.cpp: In constructor 'node::node()':
bubblesort2.cpp:18:8: warning: 'node::par' will be initialized after [-Wreorder]
node *par;
^~~
bubblesort2.cpp:15:6: warning: 'int node::val' [-Wreorder]
int val,mx,lazy;
^~~
bubblesort2.cpp:20:2: warning: when initialized here [-Wreorder]
node():par(this),val(0),sz(0),ch({this,this}),mx(0),lazy(0){}
^~~~
bubblesort2.cpp:19:12: warning: 'node::ch' will be initialized after [-Wreorder]
node *ch[2];
^
bubblesort2.cpp:15:10: warning: 'int node::mx' [-Wreorder]
int val,mx,lazy;
^~
bubblesort2.cpp:20:2: warning: when initialized here [-Wreorder]
node():par(this),val(0),sz(0),ch({this,this}),mx(0),lazy(0){}
^~~~
bubblesort2.cpp:20:60: warning: list-initializer for non-class type must not be parenthesized
node():par(this),val(0),sz(0),ch({this,this}),mx(0),lazy(0){}
^
bubblesort2.cpp: In constructor 'node::node(int, std::pair<int, int>, node*, node*, node*)':
bubblesort2.cpp:18:8: warning: 'node::par' will be initialized after [-Wreorder]
node *par;
^~~
bubblesort2.cpp:16:16: warning: 'std::pair<int, int> node::cur' [-Wreorder]
pair<int,int> cur;
^~~
bubblesort2.cpp:21:2: warning: when initialized here [-Wreorder]
node(int val,pair<int,int> cur,node* lf=empty,node *rt=empty,node *par=empty):par(par),cur(cur),val(val),sz(1+lf->sz+rt->sz),ch({lf,rt}),mx(val),lazy(0){}
^~~~
bubblesort2.cpp:16:16: warning: 'node::cur' will be initialized after [-Wreorder]
pair<int,int> cur;
^~~
bubblesort2.cpp:15:6: warning: 'int node::val' [-Wreorder]
int val,mx,lazy;
^~~
bubblesort2.cpp:21:2: warning: when initialized here [-Wreorder]
node(int val,pair<int,int> cur,node* lf=empty,node *rt=empty,node *par=empty):par(par),cur(cur),val(val),sz(1+lf->sz+rt->sz),ch({lf,rt}),mx(val),lazy(0){}
^~~~
bubblesort2.cpp:19:12: warning: 'node::ch' will be initialized after [-Wreorder]
node *ch[2];
^
bubblesort2.cpp:15:10: warning: 'int node::mx' [-Wreorder]
int val,mx,lazy;
^~
bubblesort2.cpp:21:2: warning: when initialized here [-Wreorder]
node(int val,pair<int,int> cur,node* lf=empty,node *rt=empty,node *par=empty):par(par),cur(cur),val(val),sz(1+lf->sz+rt->sz),ch({lf,rt}),mx(val),lazy(0){}
^~~~
bubblesort2.cpp:21:153: warning: list-initializer for non-class type must not be parenthesized
node(int val,pair<int,int> cur,node* lf=empty,node *rt=empty,node *par=empty):par(par),cur(cur),val(val),sz(1+lf->sz+rt->sz),ch({lf,rt}),mx(val),lazy(0){}
^
bubblesort2.cpp: In member function 'void node::addtolazy(int)':
bubblesort2.cpp:30:14: error: reference to 'empty' is ambiguous
if(this == empty) return;
^~~~~
bubblesort2.cpp:10:14: note: candidates are: node* empty
extern node* empty;
^~~~~
In file included from /usr/include/c++/7/vector:66:0,
from bubblesort2.h:1,
from bubblesort2.cpp:1:
/usr/include/c++/7/bits/range_access.h:280:5: note: template<class _Tp> constexpr bool std::empty(std::initializer_list<_Tp>)
empty(initializer_list<_Tp> __il) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:271:5: note: template<class _Tp, long unsigned int _Nm> constexpr bool std::empty(const _Tp (&)[_Nm])
empty(const _Tp (&/*__array*/)[_Nm]) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:261:5: note: template<class _Container> constexpr decltype (__cont.empty()) std::empty(const _Container&)
empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
^~~~~
bubblesort2.cpp: In function 'void pushdtoroot(node*)':
bubblesort2.cpp:61:15: error: reference to 'empty' is ambiguous
if(cur->par!=empty)
^~~~~
bubblesort2.cpp:46:7: note: candidates are: node* empty
node *empty=new node();
^~~~~
In file included from /usr/include/c++/7/vector:66:0,
from bubblesort2.h:1,
from bubblesort2.cpp:1:
/usr/include/c++/7/bits/range_access.h:280:5: note: template<class _Tp> constexpr bool std::empty(std::initializer_list<_Tp>)
empty(initializer_list<_Tp> __il) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:271:5: note: template<class _Tp, long unsigned int _Nm> constexpr bool std::empty(const _Tp (&)[_Nm])
empty(const _Tp (&/*__array*/)[_Nm]) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:261:5: note: template<class _Container> constexpr decltype (__cont.empty()) std::empty(const _Container&)
empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
^~~~~
bubblesort2.cpp: In function 'void rotate(node*&, dir)':
bubblesort2.cpp:71:9: error: reference to 'empty' is ambiguous
if(gp!=empty)
^~~~~
bubblesort2.cpp:46:7: note: candidates are: node* empty
node *empty=new node();
^~~~~
In file included from /usr/include/c++/7/vector:66:0,
from bubblesort2.h:1,
from bubblesort2.cpp:1:
/usr/include/c++/7/bits/range_access.h:280:5: note: template<class _Tp> constexpr bool std::empty(std::initializer_list<_Tp>)
empty(initializer_list<_Tp> __il) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:271:5: note: template<class _Tp, long unsigned int _Nm> constexpr bool std::empty(const _Tp (&)[_Nm])
empty(const _Tp (&/*__array*/)[_Nm]) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:261:5: note: template<class _Container> constexpr decltype (__cont.empty()) std::empty(const _Container&)
empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
^~~~~
bubblesort2.cpp:74:10: error: reference to 'empty' is ambiguous
q->par=empty;
^~~~~
bubblesort2.cpp:46:7: note: candidates are: node* empty
node *empty=new node();
^~~~~
In file included from /usr/include/c++/7/vector:66:0,
from bubblesort2.h:1,
from bubblesort2.cpp:1:
/usr/include/c++/7/bits/range_access.h:280:5: note: template<class _Tp> constexpr bool std::empty(std::initializer_list<_Tp>)
empty(initializer_list<_Tp> __il) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:271:5: note: template<class _Tp, long unsigned int _Nm> constexpr bool std::empty(const _Tp (&)[_Nm])
empty(const _Tp (&/*__array*/)[_Nm]) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:261:5: note: template<class _Container> constexpr decltype (__cont.empty()) std::empty(const _Container&)
empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
^~~~~
bubblesort2.cpp: In function 'void splay(node*&, node*&)':
bubblesort2.cpp:81:20: error: reference to 'empty' is ambiguous
while(cur->par != empty)
^~~~~
bubblesort2.cpp:46:7: note: candidates are: node* empty
node *empty=new node();
^~~~~
In file included from /usr/include/c++/7/vector:66:0,
from bubblesort2.h:1,
from bubblesort2.cpp:1:
/usr/include/c++/7/bits/range_access.h:280:5: note: template<class _Tp> constexpr bool std::empty(std::initializer_list<_Tp>)
empty(initializer_list<_Tp> __il) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:271:5: note: template<class _Tp, long unsigned int _Nm> constexpr bool std::empty(const _Tp (&)[_Nm])
empty(const _Tp (&/*__array*/)[_Nm]) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:261:5: note: template<class _Container> constexpr decltype (__cont.empty()) std::empty(const _Container&)
empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
^~~~~
bubblesort2.cpp:85:14: error: reference to 'empty' is ambiguous
if(p->par==empty)
^~~~~
bubblesort2.cpp:46:7: note: candidates are: node* empty
node *empty=new node();
^~~~~
In file included from /usr/include/c++/7/vector:66:0,
from bubblesort2.h:1,
from bubblesort2.cpp:1:
/usr/include/c++/7/bits/range_access.h:280:5: note: template<class _Tp> constexpr bool std::empty(std::initializer_list<_Tp>)
empty(initializer_list<_Tp> __il) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:271:5: note: template<class _Tp, long unsigned int _Nm> constexpr bool std::empty(const _Tp (&)[_Nm])
empty(const _Tp (&/*__array*/)[_Nm]) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:261:5: note: template<class _Container> constexpr decltype (__cont.empty()) std::empty(const _Container&)
empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
^~~~~
bubblesort2.cpp: In function 'node* get_by_index(node*&, std::pair<int, int>)':
bubblesort2.cpp:106:11: error: reference to 'empty' is ambiguous
if(root==empty) return empty;
^~~~~
bubblesort2.cpp:46:7: note: candidates are: node* empty
node *empty=new node();
^~~~~
In file included from /usr/include/c++/7/vector:66:0,
from bubblesort2.h:1,
from bubblesort2.cpp:1:
/usr/include/c++/7/bits/range_access.h:280:5: note: template<class _Tp> constexpr bool std::empty(std::initializer_list<_Tp>)
empty(initializer_list<_Tp> __il) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:271:5: note: template<class _Tp, long unsigned int _Nm> constexpr bool std::empty(const _Tp (&)[_Nm])
empty(const _Tp (&/*__array*/)[_Nm]) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:261:5: note: template<class _Container> constexpr decltype (__cont.empty()) std::empty(const _Container&)
empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
^~~~~
bubblesort2.cpp:106:25: error: reference to 'empty' is ambiguous
if(root==empty) return empty;
^~~~~
bubblesort2.cpp:46:7: note: candidates are: node* empty
node *empty=new node();
^~~~~
In file included from /usr/include/c++/7/vector:66:0,
from bubblesort2.h:1,
from bubblesort2.cpp:1:
/usr/include/c++/7/bits/range_access.h:280:5: note: template<class _Tp> constexpr bool std::empty(std::initializer_list<_Tp>)
empty(initializer_list<_Tp> __il) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:271:5: note: template<class _Tp, long unsigned int _Nm> constexpr bool std::empty(const _Tp (&)[_Nm])
empty(const _Tp (&/*__array*/)[_Nm]) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:261:5: note: template<class _Container> constexpr decltype (__cont.empty()) std::empty(const _Container&)
empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
^~~~~
bubblesort2.cpp:113:8: error: reference to 'empty' is ambiguous
if(x==empty)
^~~~~
bubblesort2.cpp:46:7: note: candidates are: node* empty
node *empty=new node();
^~~~~
In file included from /usr/include/c++/7/vector:66:0,
from bubblesort2.h:1,
from bubblesort2.cpp:1:
/usr/include/c++/7/bits/range_access.h:280:5: note: template<class _Tp> constexpr bool std::empty(std::initializer_list<_Tp>)
empty(initializer_list<_Tp> __il) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:271:5: note: template<class _Tp, long unsigned int _Nm> constexpr bool std::empty(const _Tp (&)[_Nm])
empty(const _Tp (&/*__array*/)[_Nm]) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:261:5: note: template<class _Container> constexpr decltype (__cont.empty()) std::empty(const _Container&)
empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
^~~~~
bubblesort2.cpp: In function 'void print(node*&, int)':
bubblesort2.cpp:121:11: error: reference to 'empty' is ambiguous
if(root==empty) return;
^~~~~
bubblesort2.cpp:46:7: note: candidates are: node* empty
node *empty=new node();
^~~~~
In file included from /usr/include/c++/7/vector:66:0,
from bubblesort2.h:1,
from bubblesort2.cpp:1:
/usr/include/c++/7/bits/range_access.h:280:5: note: template<class _Tp> constexpr bool std::empty(std::initializer_list<_Tp>)
empty(initializer_list<_Tp> __il) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:271:5: note: template<class _Tp, long unsigned int _Nm> constexpr bool std::empty(const _Tp (&)[_Nm])
empty(const _Tp (&/*__array*/)[_Nm]) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:261:5: note: template<class _Container> constexpr decltype (__cont.empty()) std::empty(const _Container&)
empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
^~~~~
bubblesort2.cpp: In function 'void merge(node*, node*, node*&)':
bubblesort2.cpp:132:9: error: reference to 'empty' is ambiguous
if(ls==empty)
^~~~~
bubblesort2.cpp:46:7: note: candidates are: node* empty
node *empty=new node();
^~~~~
In file included from /usr/include/c++/7/vector:66:0,
from bubblesort2.h:1,
from bubblesort2.cpp:1:
/usr/include/c++/7/bits/range_access.h:280:5: note: template<class _Tp> constexpr bool std::empty(std::initializer_list<_Tp>)
empty(initializer_list<_Tp> __il) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:271:5: note: template<class _Tp, long unsigned int _Nm> constexpr bool std::empty(const _Tp (&)[_Nm])
empty(const _Tp (&/*__array*/)[_Nm]) noexcept
^~~~~
/usr/include/c++/7/bits/range_access.h:261:5: note: template<class _Container> constexpr decltype (__cont.empty()) std::empty(const