Files
Compound/namescope.h
William 5f7a6c6f93 (SOC) Storage Only Commit
(ADD) Name, NameScope, Catlog, Object, String, Attribute, Char, Registry, Utils, Type, <Platform Support>, <Global Constants>, README

(MOD) Array, Var, Status, MemMan, <Common>
2024-05-16 00:04:42 +08:00

27 lines
769 B
C

#ifndef COMPOUND_NAMESCOPE_H
# define COMPOUND_NAMESCOPE_H
# include <Compound/array.h>
# include <Compound/name.h>
typedef struct {
Array(Name) name_data;
} NameScope;
# define NameScope(T) NameScope
Status NameScope_Create(NameScope *inst);
Status NameScope_CopyOf(NameScope *inst, NameScope *other);
Status NameScope_CreateName(NameScope *inst, Name *buff);
Status NameScope_RemoveName(NameScope *inst, Name idx);
Status NameScope_UpdateLatest(NameScope *inst, Name idx);
bool NameScope_Equal(NameScope *inst, NameScope *other);
bool NameScope_IsAvailable(NameScope *inst, Name idx);
/* Universal Attribute NameScope. (U.A.N.) */
NameScope(Attribute) UniversalAttributeNameScope;
NameScope MemoryAllocationRegistry;
#endif /* COMPOUND_NAMESCOPE_H */