This documentation is automatically generated by competitive-verifier/competitive-verifier
#include "ds/bst_base.hpp"#pragma once
#include "../other/st_alloc.hpp"
namespace bst {
template<class T> struct node : st_alloc<T> {
T *l = nullptr, *r = nullptr;
void pull() { ((T *)this)->_pull(); }
};
} // namespace bst
#line 2 "ds/bst_base.hpp"
#line 2 "other/st_alloc.hpp"
template<class T> struct st_alloc {
static inline stack<T> pool;
void *operator new(size_t) { return pool.emplace(), &pool.top(); }
void operator delete(void *) {}
};
#line 4 "ds/bst_base.hpp"
namespace bst {
template<class T> struct node : st_alloc<T> {
T *l = nullptr, *r = nullptr;
void pull() { ((T *)this)->_pull(); }
};
} // namespace bst