7 #ifndef __data_Attribute_h__ 8 #define __data_Attribute_h__ 10 #define FE_ATTRIBUTE(name,description) 11 #define FE_USE_3(name,description,maybe_use_this_later) name 12 #define FE_SPEC(name,description) name 13 #define FE_USE_1(name) name 14 #define FE_USE_0() "FE_USE" 16 #define FE_DISPATCH(name,doc) name 17 #define FE_SLOT(name) name 20 #define FE_USE_X(x,A,B,C,name, ...) name 22 #define FE_USE(...) FE_USE_X(,##__VA_ARGS__,\ 23 FE_USE_3(__VA_ARGS__),\ 24 FE_SPEC(__VA_ARGS__),\ 25 FE_USE_1(__VA_ARGS__),\ 26 FE_USE_0(__VA_ARGS__)) 51 const String &name(
void)
const;
53 const String verboseName(
void)
const;
56 bool isSerialize(
void);
58 void setSerialize(
bool set);
61 bool isCloneable(
void);
63 void setCloneable(
bool set);
65 Instance &defaultInstance(
void) {
return m_default; }
66 Instance &deadInstance(
void) {
return m_dead; }
68 void peek(Peeker &peeker);
90 return "Attribute " + m_name;
100 return m_spTypeMaster;
Class level locking for thread safety.
Definition: Safe.h:213
Heap-based support for classes participating in fe::ptr <>
Definition: Counted.h:35
Smart pointer used with types represented by BaseType.
Definition: Instance.h:28
kernel
Definition: namespace.dox:3
An attribute within a Layout (record type)
Definition: Attribute.h:38
const String verboseName(void) const
Get the long name of this Attribute.
Definition: Attribute.h:88
Automatically reference-counted string container.
Definition: String.h:128
const sp< TypeMaster > & typeMaster(void) const
Get the TypeMaster for the BaseType for this Attribute.
Definition: Attribute.h:98
const sp< BaseType > & type(void) const
Get the BaseType for this Attribute.
Definition: Attribute.h:93
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53
Layout namespace.
Definition: Scope.h:71
const String & name(void) const
Get the name of this Attribute.
Definition: Attribute.h:83