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;
109 typed_hash_decl_private* priv;
156 DLLEXPORT
bool next();
160 DLLEXPORT
const char* getName()
const;
163 class typed_hash_decl_member_iterator* priv;
173 DLLEXPORT
extern const TypedHashDecl* hashdeclFilesystemInfo;
194 DLLEXPORT
extern const TypedHashDecl* hashdeclSourceLocationInfo;
199 DLLEXPORT
extern const TypedHashDecl* hashdeclSerializationInfo;
204 DLLEXPORT
extern const TypedHashDecl* hashdeclObjectSerializationInfo;
209 DLLEXPORT
extern const TypedHashDecl* hashdeclIndexedObjectSerializationInfo;
214 DLLEXPORT
extern const TypedHashDecl* hashdeclHashSerializationInfo;
219 DLLEXPORT
extern const TypedHashDecl* hashdeclListSerializationInfo;
229 DLLEXPORT
extern const TypedHashDecl* hashdeclFtpResponseInfo;
DLLEXPORT const char * getName() const
returns the name of the typed hash
DLLLOCAL TypedHashDecl * operator*() const
implicit conversion to TypedHashDecl*
Definition: TypedHashDecl.h:125
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:118
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:130
contains constants, classes, and subnamespaces in QoreProgram objects
Definition: QoreNamespace.h:64
allows for temporary storage of a TypedHashDecl pointer
Definition: TypedHashDecl.h:115
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:138
Allows iteration of a hashdecl's members.
Definition: TypedHashDecl.h:150
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
DLLEXPORT const QoreNamespace * getNamespace() const
Returns the namespace owning the typed hash declaration.
DLLLOCAL TypedHashDecl * operator=(TypedHashDecl *nhd)
assign new TypedHashDecl value; any managed object is deleted if still managed