4 #define RZ_SPACES_MAX 512
96 return sp->current ?
sp->current->name :
"*";
105 #define rz_spaces_foreach(sp, it, s) \
106 rz_rbtree_foreach ((sp)->spaces, (it), (s), RzSpace, rb)
const char * spaces(int count)
RZ_API RBIter rz_rbtree_first(RBNode *root)
RZ_API RzSpace * rz_spaces_get(RzSpaces *sp, const char *name)
struct rz_space_event_t RzSpaceEvent
RZ_API void rz_spaces_free(RzSpaces *sp)
RZ_API bool rz_spaces_push(RzSpaces *sp, const char *name)
RZ_API void rz_spaces_fini(RzSpaces *sp)
RZ_API RzSpaces * rz_spaces_new(const char *name)
RZ_API RzSpace * rz_spaces_set(RzSpaces *sp, const char *name)
static const char * rz_spaces_current_name(RzSpaces *sp)
RZ_API RzSpace * rz_spaces_add(RzSpaces *sp, const char *name)
RZ_API int rz_spaces_count(RzSpaces *sp, const char *name)
RZ_API bool rz_spaces_pop(RzSpaces *sp)
RZ_API void rz_spaces_purge(RzSpaces *sp)
struct rz_spaces_t RzSpaces
static bool rz_spaces_is_empty(RzSpaces *sp)
RZ_API bool rz_spaces_init(RzSpaces *sp, const char *name)
static RzSpace * rz_spaces_current(RzSpaces *sp)
RZ_API bool rz_spaces_rename(RzSpaces *sp, const char *oname, const char *nname)
RZ_API bool rz_serialize_spaces_load(RZ_NONNULL Sdb *db, RZ_NONNULL RzSpaces *spaces, bool load_name, RZ_NULLABLE RzSerializeResultInfo *res)
RZ_API bool rz_spaces_unset(RzSpaces *sp, const char *name)
struct rz_space_t RzSpace
RZ_API void rz_serialize_spaces_save(RZ_NONNULL Sdb *db, RZ_NONNULL RzSpaces *spaces)
struct rz_space_event_t::@311::@314 rename
struct rz_space_event_t::@311::@313 unset
struct rz_space_event_t::@311::@312 count
union rz_space_event_t::@311 data