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);
58 DLLEXPORT
const char* getName()
const;
60 DLLEXPORT
bool isSystem()
const;
97 typed_hash_decl_private* priv;
144 DLLEXPORT
bool next();
148 DLLEXPORT
const char* getName()
const;
151 class typed_hash_decl_member_iterator* priv;
161 DLLEXPORT
extern const TypedHashDecl* hashdeclFilesystemInfo;
182 DLLEXPORT
extern const TypedHashDecl* hashdeclSourceLocationInfo;
187 DLLEXPORT
extern const TypedHashDecl* hashdeclSerializationInfo;
192 DLLEXPORT
extern const TypedHashDecl* hashdeclObjectSerializationInfo;
197 DLLEXPORT
extern const TypedHashDecl* hashdeclIndexedObjectSerializationInfo;
202 DLLEXPORT
extern const TypedHashDecl* hashdeclHashSerializationInfo;
207 DLLEXPORT
extern const TypedHashDecl* hashdeclListSerializationInfo;
DLLLOCAL TypedHashDecl * operator*() const
implicit conversion to TypedHashDecl*
Definition: TypedHashDecl.h:113
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:106
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:118
allows for temporary storage of a TypedHashDecl pointer
Definition: TypedHashDecl.h:103
DLLEXPORT const QoreExternalProgramLocation * getSourceLocation() const
returns the source location of the typed hash (hashdecl) definition
external wrapper base class for class and hashdecl members
Definition: QoreReflection.h:118
DLLLOCAL TypedHashDecl * release()
releases the TypedHashDecl*
Definition: TypedHashDecl.h:126
Allows iteration of a hashdecl's members.
Definition: TypedHashDecl.h:138
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