Mirai's Miscellaneous Misadventures

M18 / include / mimimi / compound-behaviors.h

// copyright 2022 zamfofex
// license: AGPLv3 or later

#ifndef MIMIMI_COMPUND_BEHAVIORS_H
#define MIMIMI_COMPUND_BEHAVIORS_H

struct mimimi_behavior;
struct mimimi_allocator;

struct mimimi_behavior *mimimi_compound_behavior(struct mimimi_allocator *allocator);
void mimimi_compound(struct mimimi_behavior *compound, struct mimimi_behavior *behavior);

struct mimimi_behavior *mimimi_function(void *data, void (*finish)(void *data), struct mimimi_allocator *allocator);
struct mimimi_behavior *mimimi_finalizer(void *data, void (*finish)(void *data), struct mimimi_allocator *allocator);

#endif