class axl::sl::BuddyAllocMap

#include <axl_sl_BuddyAllocMap.h>

class BuddyAllocMap
{
public:
    // structs

    struct Page;

    // classes

    class Level;

    // construction

    BuddyAllocMap();

    // methods

    bool
    create(
        size_t width,
        size_t height
        );

    void
    close();

    void
    clear();

    size_t
    getFreeSizeTop();

    size_t
    getFreeSizeBottom();

    size_t
    getTotalSize();

    bool
    isEmpty();

    size_t
    allocate(size_t size);

    void
    mark(
        size_t address,
        size_t size
        );

    void
    free(
        size_t address,
        size_t size
        );

    bool
    getBit(size_t address);
};