AMap11

(0)

(1) ver.1.00 [2024.09.20] (43行)

#if 0 // AMemMan.c に移動済み.
AClass(AMap11) {
    void *add, *del, *sch, *dst
    AInt n1, n, flags;
    AM *m;
};
#endif

AStatic AMap11 *AMap11_dbgNam = 0;
AInlineStatic void AMap11_dbgSetNam(AMap11 *w, const char *n) { aDbgSetNam(&AMap11_dbgNam, w, n); }
AStatic void AMap11_err(AMap11 *w, const char *fnc, const char *f,...) { va_list ap; va_start(ap, f); aClassErr(&AM_dbgNam, w, fnc, f, ap); va_end(ap); }

AInlineStatic void AMap11_add(AMap11 *w, void *k, void *v)
{
    #if (ADbgLv >= 2)
        if (AMap11_sch(w, k, (void *) (AInt) 0xdeadbeef) != (void *) (AInt) 0xdeadbeef
             || AMap11_sch(w, k, (void *) (AInt) 0xdeaddead) != (void *) (AInt) 0xdeaddead)
            AMap11_err(w, "AMap11_add", "duplicate error: k=%d", (AInt) k);
    #endif
    void (*add)(void *, void *, void *);
    add = w->add; add(w, k, v);
}

AInlineStatic int AMap11_del(AMap11 *w, void *k)
{
    int (*del)(void *, void *);
    del = w->del; return del(w, k);
}

AInlineStatic void *AMap11_sch(AMap11 *w, void *k, void *v0)
{
    void *(*sch)(void *, void *, void *);
    sch = w->sch; return sch(w, k, v0);
}

AInlineStatic void AMap11_dst(AMap11 *w)
{
    void (*dst)(void *);
    #if (ADbgLv >= 1)
        if ((w->flags & 8) != 0 && w->n > 0) AMap11_err(w, "AMap11_dst", "error: n=%d",  w->n);
    #endif
    dst = w->dst; dst(w);
}

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS