![]()  | 
  
    Qore Programming Language
    0.9.16
    
   | 
 
creates a builtin class More...
#include <QoreClass.h>


Public Member Methods | |
| DLLEXPORT | QoreBuiltinClass (const char *name, int64 n_domain=QDOM_DEFAULT) | 
| creates the object and marks it as a builtin class  | |
| DLLEXPORT | QoreBuiltinClass (const QoreBuiltinClass &old) | 
| copies the object  | |
  Public Member Methods inherited from QoreClass | |
| DLLEXPORT | QoreClass (const char *n_name, int n_domain) | 
| creates the QoreClass object and assigns the name and the functional domain  More... | |
| DLLEXPORT | QoreClass (const char *n_name, int64 n_domain, const QoreTypeInfo *n_typeInfo) | 
| creates the QoreClass object and assigns the name, the functional domain, and a custom QoreTypeInfo object created with AbstractQoreClassTypeInfoHelper  More... | |
| DLLEXPORT | QoreClass (const char *n_name, int64 n_domain=QDOM_DEFAULT) | 
| creates the QoreClass object and assigns the name and the functional domain  More... | |
| DLLEXPORT | QoreClass (const QoreClass &old) | 
| copy constructor  More... | |
| DLLEXPORT | QoreClass (std::string &&n_name, int64 n_domain=QDOM_DEFAULT) | 
| creates the QoreClass object and assigns the name and the functional domain  More... | |
| DLLEXPORT void | addAbstractMethod (const char *n_name, ClassAccess access, int64 n_flags, const QoreTypeInfo *returnTypeInfo, const type_vec_t &n_typeList, const arg_vec_t &defaultArgList=arg_vec_t(), const name_vec_t &n_names=name_vec_t()) | 
| adds an unimplemented abstract method variant to the class with return and parameter type info  | |
| DLLEXPORT void | addAbstractMethod (const char *n_name, ClassAccess access=Public, int64 n_flags=QCF_NO_FLAGS, const QoreTypeInfo *returnTypeInfo=0, unsigned num_params=0,...) | 
| adds an unimplemented abstract method variant to the class with extended information; with return and parameter type info  | |
| DLLEXPORT void | addBaseClass (QoreClass *qc, bool virt=false) | 
| Adds a base class to the current class.  More... | |
| DLLEXPORT void | addBuiltinBaseClass (QoreClass *qc) | 
| make a builtin class a child of another builtin class  More... | |
| DLLEXPORT void | addBuiltinConstant (const char *name, QoreValue value, ClassAccess access=Public, const QoreTypeInfo *typeInfo=nullptr) | 
| adds a class constant to the class  More... | |
| DLLEXPORT void | addBuiltinStaticVar (const char *name, QoreValue value, ClassAccess access=Public, const QoreTypeInfo *typeInfo=nullptr) | 
| adds a static variable to the class  More... | |
| DLLEXPORT void | addBuiltinVirtualBaseClass (QoreClass *qc) | 
| sets "virtual" base class for a class, meaning that the base class data is appropriate for use in the subclass builtin methods  More... | |
| DLLEXPORT void | addConstructor (const void *ptr, q_external_constructor_t meth, ClassAccess access=Public, int64 n_flags=QCF_NO_FLAGS, int64 n_domain=QDOM_DEFAULT, const type_vec_t &n_typeList=type_vec_t(), const arg_vec_t &defaultArgList=arg_vec_t(), const name_vec_t &n_names=name_vec_t()) | 
| adds a constructor method variant with the external calling convention and includes the access specifier, additional functional domain info, and parameter type info  More... | |
| DLLEXPORT void | addConstructor (q_constructor_n_t meth, ClassAccess access=Public, int64 n_flags=QCF_NO_FLAGS, int64 n_domain=QDOM_DEFAULT, unsigned num_params=0,...) | 
| adds a constructor method variant with the access specifier, additional functional domain info, and parameter type info  | |
| DLLEXPORT void | addDefaultBuiltinBaseClass (QoreClass *qc) | 
| make a builtin class a child of another builtin class and ensures that the given class's private data will be used in all class methods  More... | |
| DLLEXPORT void | addMember (const char *mem, ClassAccess access, const QoreTypeInfo *n_typeInfo, QoreValue initial_value=QoreValue()) | 
| adds a member  | |
| DLLEXPORT void | addMethod (const char *n_name, q_method_n_t meth, ClassAccess access=Public, int64 n_flags=QCF_NO_FLAGS, int64 n_domain=QDOM_DEFAULT, const QoreTypeInfo *returnTypeInfo=0, unsigned num_params=0,...) | 
| adds a builtin method variant to a class  More... | |
| DLLEXPORT void | addMethod (const void *ptr, const char *n_name, q_external_method_t meth, ClassAccess access=Public, int64 n_flags=QCF_NO_FLAGS, int64 n_domain=QDOM_DEFAULT, const QoreTypeInfo *returnTypeInfo=0, const type_vec_t &n_typeList=type_vec_t(), const arg_vec_t &defaultArgList=arg_vec_t(), const name_vec_t &n_names=name_vec_t()) | 
| adds a builtin method variant to a class with the calling convention for external modules  More... | |
| DLLEXPORT void | addStaticMethod (const char *n_name, q_func_n_t meth, ClassAccess access=Public, int64 n_flags=QCF_NO_FLAGS, int64 n_domain=QDOM_DEFAULT, const QoreTypeInfo *returnTypeInfo=0, unsigned num_params=0,...) | 
| adds a builtin static method with extended information; additional functional domain info, return and parameter type info  | |
| DLLEXPORT void | addStaticMethod (const void *ptr, const char *n_name, q_external_static_method_t meth, ClassAccess access=Public, int64 n_flags=QCF_NO_FLAGS, int64 n_domain=QDOM_DEFAULT, const QoreTypeInfo *returnTypeInfo=0, const type_vec_t &n_typeList=type_vec_t(), const arg_vec_t &defaultArgList=arg_vec_t(), const name_vec_t &n_names=name_vec_t()) | 
| adds a builtin static method with extended information; additional functional domain info, return and parameter type info  More... | |
| virtual DLLEXPORT QoreClass * | copy () | 
| Called when a class is copied.  More... | |
| virtual DLLEXPORT QoreClass * | copyImport () | 
| Called when a class is copied for import.  More... | |
| DLLEXPORT QoreValue | evalPseudoMethod (const QoreMethod *m, const QoreExternalMethodVariant *variant, const QoreValue n, const QoreListNode *args, ExceptionSink *xsink) const | 
| evaluates a pseudo-method on a pseudo-class  More... | |
| DLLEXPORT QoreValue | evalPseudoMethod (const QoreValue n, const char *nme, const QoreListNode *args, ExceptionSink *xsink) const | 
| evaluates a pseudo-method on a pseudo-class  More... | |
| DLLEXPORT QoreObject * | execConstructor (const QoreClass &obj_cls, const QoreListNode *args, bool allow_abstract, ExceptionSink *xsink) const | 
| Creates a new object and executes the constructor and returns the new object.  More... | |
| DLLEXPORT QoreObject * | execConstructor (const QoreListNode *args, ExceptionSink *xsink) const | 
| creates a new object and executes the constructor on it and returns the new object  More... | |
| DLLEXPORT QoreObject * | execConstructorVariant (const QoreExternalMethodVariant *mv, const QoreListNode *args, ExceptionSink *xsink) const | 
| creates a new object and executes the constructor on it and returns the new object  More... | |
| DLLEXPORT QoreObject * | execCopy (QoreObject *old, ExceptionSink *xsink) const | 
| executes a class's "copy" method on an object and returns the new object (or 0 in the case of an exception)  More... | |
| DLLEXPORT QoreObject * | execSystemConstructor (int code=0,...) const | 
| creates a new "system" object for use as the value of a constant, executes the system constructor on it and returns the new object  More... | |
| const DLLEXPORT QoreExternalConstant * | findConstant (const char *name) const | 
| Finds the given constant or returns nullptr if not found.  More... | |
| const DLLEXPORT QoreExternalNormalMember * | findLocalMember (const char *name) const | 
| Finds the given local member or returns nullptr.  More... | |
| const DLLEXPORT QoreMethod * | findLocalMethod (const char *name) const | 
| finds a normal (non-static) method in the class hierarchy  More... | |
| const DLLEXPORT QoreExternalStaticMember * | findLocalStaticMember (const char *name) const | 
| Finds the given local static member or returns nullptr.  More... | |
| const DLLEXPORT QoreMethod * | findLocalStaticMethod (const char *name) const | 
| finds a static method in the class hierarchy  More... | |
| const DLLEXPORT QoreMethod * | findMethod (const char *nme) const | 
| finds a normal (non-static) method in the class hierarchy  More... | |
| const DLLEXPORT QoreMethod * | findMethod (const char *nme, ClassAccess &access) const | 
| finds a normal (non-static) method in the class hierarchy at runtime and sets the access code  More... | |
| const DLLEXPORT QoreMethod * | findStaticMethod (const char *nme) const | 
| finds a static method in the class hierarchy  More... | |
| const DLLEXPORT QoreMethod * | findStaticMethod (const char *nme, ClassAccess &access) const | 
| finds a static method in the class hierarchy and sets the priv flag if it's a private method or not  More... | |
| const DLLEXPORT QoreExternalMethodVariant * | findUserMethodVariant (const char *name, const QoreMethod *&method, const type_vec_t &argTypeList) const | 
| returns the user variant for the given non-static method and argument types  More... | |
| DLLEXPORT BinaryNode * | getBinaryHash () const | 
| returns a binary hash for the class's API  More... | |
| const DLLEXPORT QoreClass * | getClass (const QoreClass &qc, bool &priv) const | 
| returns a pointer to the QoreClass object representing the class ID passed if it exists in the class hierarchy and sets a flag indicating if it's privately inherited or not  More... | |
| DLLEXPORT QoreClass * | getClass (qore_classid_t cid) const | 
| returns a pointer to the QoreClass object representing the class ID passed if it exists in the class hierarchy  More... | |
| const DLLEXPORT QoreClass * | getClass (qore_classid_t cid, bool &priv) const | 
| returns a pointer to the QoreClass object representing the class ID passed if it exists in the class hierarchy and sets a flag indicating if it's privately inherited or not  More... | |
| const DLLEXPORT QoreMethod * | getConstructor () const | 
| returns a const pointer to the QoreMethod object of the constuctor method, if any is set  More... | |
| const DLLEXPORT QoreMethod * | getCopyMethod () const | 
| returns a const pointer to the QoreMethod object of the destructor method, if any is set  More... | |
| DLLEXPORT q_deserializer_t | getDeserializer () const | 
| returns the deserializer method or nullptr if not present  More... | |
| const DLLEXPORT QoreMethod * | getDestructor () const | 
| returns a const pointer to the QoreMethod object of the constructor method, if any is set  More... | |
| DLLEXPORT int64 | getDomain () const | 
| returns the functional domain of the class  More... | |
| DLLEXPORT qore_classid_t | getID () const | 
| returns the class ID of this class  | |
| DLLEXPORT AbstractQoreClassUserData * | getManagedUserData () const | 
| retrieves the user-specific data pointer  More... | |
| template<typename T > | |
| DLLLOCAL T * | getManagedUserData () const | 
| retrieves the user-specific data pointer  More... | |
| const DLLEXPORT QoreMethod * | getMemberGateMethod () const | 
| returns a const pointer to the QoreMethod object of the memberGate method, if any is set  More... | |
| const DLLEXPORT QoreMethod * | getMemberNotificationMethod () const | 
| returns a const pointer to the QoreMethod object of the memberNotification method, if any is set  More... | |
| const DLLEXPORT QoreMethod * | getMethodGate () const | 
| returns a const pointer to the QoreMethod object of the methodGate method, if any is set  More... | |
| DLLEXPORT QoreListNode * | getMethodList () const | 
| returns a list strings of all non-static methods in the class, the caller owns the reference count returned  More... | |
| const DLLEXPORT char * | getModuleName () const | 
| Returns the module name the class was loaded from or nullptr if it is a builtin class.  More... | |
| const DLLEXPORT char * | getName () const | 
| returns the class name  | |
| const DLLEXPORT QoreNamespace * | getNamespace () const | 
| Returns the namespace that owns this class.  More... | |
| DLLEXPORT std::string | getNamespacePath (bool anchored=false) const | 
| returns the full namespace path of the class  More... | |
| const DLLEXPORT QoreTypeInfo * | getOrNothingTypeInfo () const | 
| returns the "or nothing" type information structure for this class  | |
| DLLEXPORT QoreProgram * | getProgram () const | 
| Returns the owning QoreProgram object (if not the static system namespace)  More... | |
| DLLEXPORT qore_type_t | getPseudoClassType () const | 
| returns a pseudo-classes base type  More... | |
| DLLEXPORT q_serializer_t | getSerializer () const | 
| returns the serializer method or nullptr if not present  More... | |
| DLLEXPORT QoreListNode * | getStaticMethodList () const | 
| returns a list strings of all static methods in the class, the caller owns the reference count returned  More... | |
| const DLLEXPORT QoreMethod * | getSystemConstructor () const | 
| returns a const pointer to the QoreMethod object of the constuctor method, if any is set  More... | |
| const DLLEXPORT QoreTypeInfo * | getTypeInfo () const | 
| returns the type information structure for this class  | |
| const DLLEXPORT void * | getUserData () const | 
| retrieves the user-specific data pointer  More... | |
| DLLEXPORT bool | hasCopy () const | 
| returns true if the class implements a copy method  | |
| DLLEXPORT bool | hasMemberGate () const | 
| returns true if the class implements a "memberGate" method  | |
| DLLEXPORT bool | hasMemberNotification () const | 
| returns true if the class implements a "memberNotification" method  | |
| DLLEXPORT bool | hasMethodGate () const | 
| returns true if the class implements a "methodGate" method  | |
| DLLEXPORT bool | hasTransientMember () const | 
| Returns true if the class has at least one locally-declared transient member.  More... | |
| DLLEXPORT bool | inHierarchy (const QoreClass &cls, ClassAccess &n_access) const | 
| Returns true if the class passed as an argument is present in the current class's hierachy, even if not accessible from the class due to private:internal inheritance.  More... | |
| DLLEXPORT bool | isAbstract () const | 
| returns true if the class has at least one unimplemented abstract method variant  More... | |
| DLLEXPORT bool | isEqual (const QoreClass &cls) const | 
| returns true if the classes are equal  More... | |
| DLLEXPORT bool | isFinal () const | 
| returns true if the class is final  More... | |
| DLLEXPORT bool | isInjected () const | 
| returns true if the class has been injected as a dependency injection  More... | |
| DLLEXPORT bool | isModulePublic () const | 
| returns true if the class has its module public flag set  More... | |
| DLLEXPORT bool | isPrivateMember (const char *str) const | 
| returns true if the member is private  More... | |
| DLLEXPORT bool | isPseudoClass () const | 
| returns true if the class is a pseudo class  More... | |
| DLLEXPORT bool | isPublicOrPrivateMember (const char *str, bool &priv) const | 
| returns true if the member is private or public  More... | |
| DLLEXPORT bool | isSystem () const | 
| returns true if the class is a builtin class  | |
| DLLEXPORT int | numMethods () const | 
| returns the number of non-static methods in this class (user and builtin)  | |
| DLLEXPORT int | numStaticMethods () const | 
| returns the number of static methods in this class (user and builtin)  | |
| DLLEXPORT int | numStaticUserMethods () const | 
| returns the number of static user methods in this class  | |
| DLLEXPORT int | numUserMethods () const | 
| returns the number of non-static user methods in this class  | |
| DLLEXPORT void | recheckBuiltinMethodHierarchy () | 
| rechecks for inherited methods in base classes when adding builtin classes  | |
| DLLEXPORT void | rescanParents () | 
| rescan builtin parent classes in a class hierarchy; to be used with out-of-order class hierarchy construction  More... | |
| DLLEXPORT int | runtimeCheckInstantiateClass (ExceptionSink *xsink) const | 
| Throws a Qore-language exception if the class cannot be instantiated.  More... | |
| DLLEXPORT void | setCopy (const void *ptr, q_external_copy_t m) | 
| sets the builtin copy method for the class using the new generic calling convention  More... | |
| DLLEXPORT void | setCopy (q_copy_t m) | 
| sets the builtin copy method for the class  More... | |
| DLLEXPORT void | setDeleteBlocker (q_delete_blocker_t m) | 
| sets the deleteBlocker method for the class  More... | |
| DLLEXPORT void | setDeserializer (q_deserializer_t m) | 
| sets the deserializer method for builtin classes  More... | |
| DLLEXPORT void | setDestructor (const void *ptr, q_external_destructor_t m) | 
| sets the builtin destructor method for the class with the external calling convention  More... | |
| DLLEXPORT void | setDestructor (q_destructor_t m) | 
| sets the builtin destructor method for the class  More... | |
| DLLEXPORT void | setFinal () | 
| sets the final flag of the class  | |
| DLLEXPORT void | setGateAccessFlag () | 
| sets the class's gate access flag so that memberGate() and methodGate() methods will be called with an extra boolean argument giving the current class access before the call  More... | |
| DLLEXPORT void | setManagedUserData (AbstractQoreClassUserData *cud) | 
| sets a pointer to user-specific data in the class  More... | |
| DLLEXPORT void | setPublicMemberFlag () | 
| sets the class's public member flag so that undeclared member references will fail  More... | |
| DLLEXPORT void | setSerializer (q_serializer_t m) | 
| sets the serializer method for builtin classes  More... | |
| DLLEXPORT void | setSynchronousClass () | 
| call this function if your builtin class requires *all* methods (except the constructor) to be run in an RMutex lock  More... | |
| DLLEXPORT void | setSystem () | 
| marks the class as a builtin class  | |
| DLLEXPORT void | setSystemConstructor (q_system_constructor_t m) | 
| sets the builtin constructor for system objects (ex: used as constant values)  More... | |
| DLLEXPORT void | setUserData (const void *ptr) | 
| sets a pointer to user-specific data in the class  More... | |
Private Member Methods | |
| DLLEXPORT | QoreBuiltinClass () | 
| for use with QoreClass::copyImport()  | |
  Private Member Methods inherited from QoreClass | |
| DLLEXPORT | QoreClass () | 
| For use with QoreClass::copyImport()  | |
| virtual DLLEXPORT | ~QoreClass () | 
| Deletes the object and frees all memory.  | |
creates a builtin class