|
Qore Programming Language
0.9.16
|
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;
117 typed_hash_decl_private* priv;
164 DLLEXPORT
bool next();
168 DLLEXPORT
const char* getName()
const;
171 class typed_hash_decl_member_iterator* priv;
181 DLLEXPORT
extern const TypedHashDecl* hashdeclFilesystemInfo;
202 DLLEXPORT
extern const TypedHashDecl* hashdeclSourceLocationInfo;
207 DLLEXPORT
extern const TypedHashDecl* hashdeclSerializationInfo;
212 DLLEXPORT
extern const TypedHashDecl* hashdeclObjectSerializationInfo;
217 DLLEXPORT
extern const TypedHashDecl* hashdeclIndexedObjectSerializationInfo;
222 DLLEXPORT
extern const TypedHashDecl* hashdeclHashSerializationInfo;
227 DLLEXPORT
extern const TypedHashDecl* hashdeclListSerializationInfo;
237 DLLEXPORT
extern const TypedHashDecl* hashdeclFtpResponseInfo;
242 DLLEXPORT
extern const TypedHashDecl* hashdeclSocketPollInfo;
DLLEXPORT QoreHashNode * doRuntimeCast(const QoreHashNode *h, ExceptionSink *xsink) const
Performs a runtime cast and returns a typed hash if the has passed is compatible.
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
This is the hash or associative list container type in Qore, dynamically allocated only,...
Definition: QoreHashNode.h:50
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:133
DLLLOCAL TypedHashDecl * release()
releases the TypedHashDecl*
Definition: TypedHashDecl.h:146
DLLLOCAL TypedHashDeclHolder(TypedHashDecl *thd)
creates the object
Definition: TypedHashDecl.h:126
const DLLEXPORT QoreNamespace * getNamespace() const
Returns the namespace owning the typed hash declaration.
DLLLOCAL TypedHashDecl * operator->() const
implicit conversion to TypedHashDecl*
Definition: TypedHashDecl.h:138
contains constants, classes, and subnamespaces in QoreProgram objects
Definition: QoreNamespace.h:65
typed hash declaration
Definition: TypedHashDecl.h:44
Allows iteration of a hashdecl's members.
Definition: TypedHashDecl.h:158
external wrapper class for source code location information
Definition: QoreReflection.h:187
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:48
allows for temporary storage of a TypedHashDecl pointer
Definition: TypedHashDecl.h:123
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