// D import file generated from 'core\Memory.d'
module tango.core.Memory;
import tango.core.internal.gcInterface;
struct GC
{
    static 
{
    void enable()
{
gc_enable();
}
}
    static 
{
    void disable()
{
gc_disable();
}
}
    static 
{
    void collect()
{
gc_collect();
}
}
    static 
{
    void minimize()
{
gc_minimize();
}
}
    enum BlkAttr : uint
{
FINALIZE = 1,
NO_SCAN = 2,
NO_MOVE = 4,
}
    alias BlkInfo_ BlkInfo;
    static 
{
    uint getAttr(void* p)
{
return gc_getAttr(p);
}
}
    static 
{
    uint setAttr(void* p, uint a)
{
return gc_setAttr(p,a);
}
}
    static 
{
    uint clrAttr(void* p, uint a)
{
return gc_clrAttr(p,a);
}
}
    static 
{
    void* malloc(size_t sz, uint ba = 0)
{
return gc_malloc(sz,ba);
}
}
    static 
{
    void* calloc(size_t sz, uint ba = 0)
{
return gc_calloc(sz,ba);
}
}
    static 
{
    void* realloc(void* p, size_t sz, uint ba = 0)
{
return gc_realloc(p,sz,ba);
}
}
    static 
{
    size_t extend(void* p, size_t mx, size_t sz)
{
return gc_extend(p,mx,sz);
}
}
    static 
{
    size_t reserve(size_t sz)
{
return gc_reserve(sz);
}
}
    static 
{
    void free(void* p)
{
gc_free(p);
}
}
    static 
{
    void* addrOf(void* p)
{
return gc_addrOf(p);
}
}
    static 
{
    size_t sizeOf(void* p)
{
return gc_sizeOf(p);
}
}
    static 
{
    BlkInfo query(void* p)
{
return gc_query(p);
}
}
    static 
{
    void addRoot(void* p)
{
gc_addRoot(p);
}
}
    static 
{
    void addRange(void* p, size_t sz)
{
gc_addRange(p,sz);
}
}
    static 
{
    void removeRoot(void* p)
{
gc_removeRoot(p);
}
}
    static 
{
    void removeRange(void* p)
{
gc_removeRange(p);
}
}
    static 
{
    size_t growLength(size_t newlength, size_t elSize = 1);
}
    static 
{
    size_t growLength(size_t newlength, size_t elSize, size_t a, size_t b = 0, size_t minBits = 1);
}
    static 
{
    size_t counter()
{
return gc_counter();
}
}
    alias tango.core.internal.gcInterface.GCStats GCStats;
    static 
{
    GCStats stats(int detail = 0)
{
return gc_stats(detail);
}
}
}
