32 #ifndef _QORE_TYPEDHASHDECL_H 34 #define _QORE_TYPEDHASHDECL_H 37 class typed_hash_decl_private;
45 friend class typed_hash_decl_private;
53 DLLEXPORT
const QoreTypeInfo*
getTypeInfo(
bool or_nothing =
false)
const;
56 DLLEXPORT
void addMember(
const char* name,
const QoreTypeInfo* memberTypeInfo,
QoreValue init_val);
59 DLLEXPORT
const char*
getName()
const;
104 typed_hash_decl_private* priv;
151 DLLEXPORT
bool next();
155 DLLEXPORT
const char* getName()
const;
158 class typed_hash_decl_member_iterator* priv;
168 DLLEXPORT
extern const TypedHashDecl* hashdeclFilesystemInfo;
189 DLLEXPORT
extern const TypedHashDecl* hashdeclSourceLocationInfo;
194 DLLEXPORT
extern const TypedHashDecl* hashdeclSerializationInfo;
199 DLLEXPORT
extern const TypedHashDecl* hashdeclObjectSerializationInfo;
204 DLLEXPORT
extern const TypedHashDecl* hashdeclIndexedObjectSerializationInfo;
209 DLLEXPORT
extern const TypedHashDecl* hashdeclHashSerializationInfo;
214 DLLEXPORT
extern const TypedHashDecl* hashdeclListSerializationInfo;
DLLEXPORT const char * getName() const
returns the name of the typed hash
DLLLOCAL TypedHashDecl * operator*() const
implicit conversion to TypedHashDecl*
Definition: TypedHashDecl.h:120
DLLEXPORT ~TypedHashDecl()
deletes the object and frees all memory
DLLEXPORT bool equal(const TypedHashDecl *other) const
returns true if the hashdecl passed as an arugment is equal to this hashdecl
DLLLOCAL TypedHashDeclHolder(TypedHashDecl *thd)
creates the object
Definition: TypedHashDecl.h:113
DLLEXPORT std::string getNamespacePath(bool anchored=false) const
returns the full namespace path of the class
DLLLOCAL TypedHashDecl * operator->() const
implicit conversion to TypedHashDecl*
Definition: TypedHashDecl.h:125
allows for temporary storage of a TypedHashDecl pointer
Definition: TypedHashDecl.h:110
DLLEXPORT const QoreExternalProgramLocation * getSourceLocation() const
returns the source location of the typed hash (hashdecl) definition
DLLEXPORT bool isPublic() const
returns true if the typed hash has the public (export) flag set
external wrapper base class for class and hashdecl members
Definition: QoreReflection.h:118
DLLEXPORT bool isSystem() const
returns true if the typed hash is a builtin typed hash
DLLLOCAL TypedHashDecl * release()
releases the TypedHashDecl*
Definition: TypedHashDecl.h:133
Allows iteration of a hashdecl's members.
Definition: TypedHashDecl.h:145
DLLEXPORT void addMember(const char *name, const QoreTypeInfo *memberTypeInfo, QoreValue init_val)
adds an element to a built-in hashdecl
The main value class in Qore, designed to be passed by value.
Definition: QoreValue.h:262
DLLEXPORT const QoreTypeInfo * getTypeInfo(bool or_nothing=false) const
returns the type info object for the hashdecl
DLLEXPORT ~TypedHashDeclHolder()
deletes the TypedHashDecl object if still managed
DLLEXPORT const QoreExternalMemberBase * findLocalMember(const char *name) const
Finds the given local member or returns nullptr.
external wrapper class for source code location information
Definition: QoreReflection.h:187
DLLEXPORT const char * getModuleName() const
Returns the module name the class was loaded from or nullptr if it is a builtin class.
typed hash declaration
Definition: TypedHashDecl.h:44
DLLLOCAL TypedHashDecl * operator=(TypedHashDecl *nhd)
assign new TypedHashDecl value; any managed object is deleted if still managed