#include <vector>
template <class T, class F>
class Bheap
{
public:
Bheap(int allocateSize) {}
void insert(T value, F f)
{
f(value,value);
}
void getMax();
private:
int sizeUsed;
int allocateSize;
std::vector<T> myBheap;
};
struct SomeStruct
{
void operator()(int, int){}
};
int main()
{
Bheap<int, SomeStruct> b(10);
SomeStruct s;
b.insert(10, s);
}
ICAgICNpbmNsdWRlIDx2ZWN0b3I+CiAgICAKICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBGPgogICAgY2xhc3MgQmhlYXAKICAgIHsKICAgIHB1YmxpYzoKICAgICAgICBCaGVhcChpbnQgYWxsb2NhdGVTaXplKSB7fQogICAgICAgIHZvaWQgaW5zZXJ0KFQgdmFsdWUsIEYgZikKICAgICAgICB7CiAgICAgICAgCWYodmFsdWUsdmFsdWUpOwogICAgICAgIH0KICAgICAgICB2b2lkIGdldE1heCgpOwogICAgcHJpdmF0ZToKICAgICAgICBpbnQgc2l6ZVVzZWQ7CiAgICAgICAgaW50IGFsbG9jYXRlU2l6ZTsKICAgICAgICBzdGQ6OnZlY3RvcjxUPiBteUJoZWFwOwogICAgfTsKICAgIAogICAgc3RydWN0IFNvbWVTdHJ1Y3QKICAgIHsKICAgIAl2b2lkIG9wZXJhdG9yKCkoaW50LCBpbnQpe30KICAgIH07CiAgICAKICAgIGludCBtYWluKCkKICAgIHsKICAgIAlCaGVhcDxpbnQsIFNvbWVTdHJ1Y3Q+IGIoMTApOwogICAgCVNvbWVTdHJ1Y3QgczsKICAgIAliLmluc2VydCgxMCwgcyk7CiAgICB9Cg==