 |
Qore Programming Language - C/C++ Library
0.9.4.3
|
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;
const DLLEXPORT QoreTypeInfo * getTypeInfo(bool or_nothing=false) const
returns the type info object for the hashdecl
DLLEXPORT bool isSystem() const
returns true if the typed hash is a builtin typed hash
const DLLEXPORT char * getName() const
returns the name of the typed hash
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
const DLLEXPORT char * getModuleName() const
Returns the module name the class was loaded from or nullptr if it is a builtin class.
DLLLOCAL TypedHashDecl * operator*() const
implicit conversion to TypedHashDecl*
Definition: TypedHashDecl.h:125
DLLLOCAL TypedHashDecl * release()
releases the TypedHashDecl*
Definition: TypedHashDecl.h:138
DLLLOCAL TypedHashDeclHolder(TypedHashDecl *thd)
creates the object
Definition: TypedHashDecl.h:118
const DLLEXPORT QoreNamespace * getNamespace() const
Returns the namespace owning the typed hash declaration.
DLLLOCAL TypedHashDecl * operator->() const
implicit conversion to TypedHashDecl*
Definition: TypedHashDecl.h:130
contains constants, classes, and subnamespaces in QoreProgram objects
Definition: QoreNamespace.h:64
typed hash declaration
Definition: TypedHashDecl.h:44
Allows iteration of a hashdecl's members.
Definition: TypedHashDecl.h:150
external wrapper class for source code location information
Definition: QoreReflection.h:187
allows for temporary storage of a TypedHashDecl pointer
Definition: TypedHashDecl.h:115
DLLEXPORT bool equal(const TypedHashDecl *other) const
returns true if the hashdecl passed as an arugment is equal to this hashdecl
DLLEXPORT std::string getNamespacePath(bool anchored=false) const
returns the full namespace path of the class
const DLLEXPORT QoreExternalMemberBase * findLocalMember(const char *name) const
Finds the given local member or returns nullptr.
DLLEXPORT bool isPublic() const
returns true if the typed hash has the public (export) flag set
DLLEXPORT ~TypedHashDeclHolder()
deletes the TypedHashDecl object if still managed
DLLEXPORT ~TypedHashDecl()
deletes the object and frees all memory
external wrapper base class for class and hashdecl members
Definition: QoreReflection.h:118
const DLLEXPORT QoreExternalProgramLocation * getSourceLocation() const
returns the source location of the typed hash (hashdecl) definition
DLLLOCAL TypedHashDecl * operator=(TypedHashDecl *nhd)
assign new TypedHashDecl value; any managed object is deleted if still managed