| Qore Programming Language
    0.8.11.1
    | 
#include <string.h>#include <strings.h>#include <stdarg.h>#include <stddef.h>#include <stdlib.h>#include <string>#include <functional>#include <list>#include <set>#include <vector>#include <algorithm>

Go to the source code of this file.
| Classes | |
| class | cstr_vector_t | 
| non-thread-safe vector for storing "char *" that you want to delete  More... | |
| struct | free_ptr< T > | 
| functor template for calling free() on pointers  More... | |
| class | ltchar | 
| for char less-than comparisons  More... | |
| class | ltcstrcase | 
| for simple c-string case-insensitive less-than comparisons  More... | |
| class | ltstr | 
| for simple c-string less-than comparisons  More... | |
| class | ltstrcase | 
| for std::string case-insensitive less-than comparisons  More... | |
| struct | simple_delete< T > | 
| functor template for deleting elements  More... | |
| struct | simple_deref< T > | 
| functor template for dereferencing elements  More... | |
| Macros | |
| #define | Q_AF_INET -2 | 
| cross-platform define for AF_INET | |
| #define | Q_AF_INET6 -3 | 
| cross-platform define for AF_INET6 | |
| #define | Q_AF_UNSPEC -1 | 
| cross-platform define for AF_UNSPEC | |
| #define | Q_SOCK_STREAM -1 | 
| platform-independent define for SOCK_STREAM | |
| Typedefs | |
| typedef std::vector< AbstractQoreNode * > | arg_vec_t | 
| vector of value information for default argument lists | |
| typedef std::set< int > | int_set_t | 
| set of integers | |
| typedef std::vector< std::string > | name_vec_t | 
| vector of parameter names for parameter lists | |
| typedef void(* | q_constructor2_t) (const QoreClass &thisclass, QoreObject *self, const QoreListNode *args, ExceptionSink *xsink) | 
| the type used for builtin QoreClass constructor method signatures using the new generic calling convention  More... | |
| typedef void(* | q_constructor3_t) (const QoreClass &thisclass, const type_vec_t &typeList, const void *ptr, QoreObject *self, const QoreListNode *args, ExceptionSink *xsink) | 
| the type used for builtin QoreClass constructor method signatures using the even newer generic calling convention supporting hard typing and method variants  More... | |
| typedef void(* | q_constructor_t) (QoreObject *self, const QoreListNode *args, ExceptionSink *xsink) | 
| the type used for builtin QoreClass constructor method signatures  More... | |
| typedef void(* | q_copy2_t) (const QoreClass &thisclass, QoreObject *self, QoreObject *old, AbstractPrivateData *private_data, ExceptionSink *xsink) | 
| the type used for builtin QoreClass copy signatures with the new generic calling convention  More... | |
| typedef void(* | q_copy3_t) (const QoreClass &thisclass, const void *ptr, QoreObject *self, QoreObject *old, AbstractPrivateData *private_data, ExceptionSink *xsink) | 
| the type used for builtin QoreClass copy signatures with the new generic calling convention  More... | |
| typedef void(* | q_copy_t) (QoreObject *self, QoreObject *old, AbstractPrivateData *private_data, ExceptionSink *xsink) | 
| the type used for builtin QoreClass copy signatures  More... | |
| typedef bool(* | q_delete_blocker_t) (QoreObject *self, AbstractPrivateData *private_data) | 
| the typed used for QoreClass deleteBlocker signatures  More... | |
| typedef void(* | q_destructor2_t) (const QoreClass &thisclass, QoreObject *self, AbstractPrivateData *private_data, ExceptionSink *xsink) | 
| the type used for builtin QoreClass destructor signatures with the new generic calling convention  More... | |
| typedef void(* | q_destructor3_t) (const QoreClass &thisclass, const void *ptr, QoreObject *self, AbstractPrivateData *private_data, ExceptionSink *xsink) | 
| the type used for builtin QoreClass destructor signatures with the new generic calling convention and user-defined data  More... | |
| typedef void(* | q_destructor_t) (QoreObject *self, AbstractPrivateData *private_data, ExceptionSink *xsink) | 
| the type used for builtin QoreClass destructor signatures  More... | |
| typedef bool(* | q_func_bool_t) (const QoreListNode *args, ExceptionSink *xsink) | 
| the type used for builtin function signatures returning a boolean value | |
| typedef double(* | q_func_double_t) (const QoreListNode *args, ExceptionSink *xsink) | 
| the type used for builtin function signatures returning an double value | |
| typedef int64(* | q_func_int64_t) (const QoreListNode *args, ExceptionSink *xsink) | 
| the type used for builtin function signatures returning an integer value | |
| typedef AbstractQoreNode *(* | q_func_t) (const QoreListNode *args, ExceptionSink *xsink) | 
| the type used for builtin function signatures  More... | |
| typedef AbstractQoreNode *(* | q_method2_t) (const QoreMethod &method, QoreObject *self, AbstractPrivateData *private_data, const QoreListNode *args, ExceptionSink *xsink) | 
| the type used for builtin QoreClass method signatures when called with the new generic calling convention  More... | |
| typedef AbstractQoreNode *(* | q_method3_t) (const QoreMethod &method, const type_vec_t &typeList, const void *ptr, QoreObject *self, AbstractPrivateData *private_data, const QoreListNode *args, ExceptionSink *xsink) | 
| the type used for builtin QoreClass method signatures when called with the even newer generic calling convention supporting hard typing and method variants  More... | |
| typedef bool(* | q_method_bool_t) (QoreObject *self, AbstractPrivateData *private_data, const QoreListNode *args, ExceptionSink *xsink) | 
| the type used for builtin QoreClass method signatures when called with the even newer generic calling convention supporting hard typing and method variants, returns bool  More... | |
| typedef double(* | q_method_double_t) (QoreObject *self, AbstractPrivateData *private_data, const QoreListNode *args, ExceptionSink *xsink) | 
| the type used for builtin QoreClass method signatures when called with the even newer generic calling convention supporting hard typing and method variants, returns double  More... | |
| typedef int64(* | q_method_int64_t) (QoreObject *self, AbstractPrivateData *private_data, const QoreListNode *args, ExceptionSink *xsink) | 
| the type used for builtin QoreClass method signatures, returns int64  More... | |
| typedef int(* | q_method_int_t) (QoreObject *self, AbstractPrivateData *private_data, const QoreListNode *args, ExceptionSink *xsink) | 
| the type used for builtin QoreClass method signatures when called with the even newer generic calling convention supporting hard typing and method variants, returns int  More... | |
| typedef AbstractQoreNode *(* | q_method_t) (QoreObject *self, AbstractPrivateData *private_data, const QoreListNode *args, ExceptionSink *xsink) | 
| the type used for builtin QoreClass method signatures  More... | |
| typedef AbstractQoreNode *(* | q_static_method2_t) (const QoreMethod &method, const QoreListNode *args, ExceptionSink *xsink) | 
| the type used for builtin static method signatures for static methods using the new generic calling convention  More... | |
| typedef AbstractQoreNode *(* | q_static_method3_t) (const QoreMethod &method, const type_vec_t &typeList, const void *ptr, const QoreListNode *args, ExceptionSink *xsink) | 
| the type used for builtin static method signatures for static methods using the even newer generic calling convention supporting hard typing and method variants  More... | |
| typedef void(* | q_system_constructor2_t) (const QoreClass &thisclass, QoreObject *self, int code, va_list args) | 
| the type used for builtin QoreClass system constructor method signatures using the new generic calling convention  More... | |
| typedef void(* | q_system_constructor_t) (QoreObject *self, int code, va_list args) | 
| the type used for builtin QoreClass system constructor method signatures  More... | |
| typedef unsigned | q_trid_t | 
| type for thread resource IDs (unique within a single running qore library process)  More... | |
| typedef unsigned | qore_classid_t | 
| used for the unique class ID for QoreClass objects | |
| typedef long | qore_offset_t | 
| used for offsets that could be negative | |
| typedef size_t | qore_size_t | 
| used for sizes (same range as a pointer) | |
| typedef signed short | qore_type_t | 
| used to identify unique Qore data and parse types (descendents of AbstractQoreNode) | |
| typedef std::vector< const QoreTypeInfo * > | type_vec_t | 
| vector of type information for parameter lists | |
| Enumerations | |
| enum | qore_license_t { QL_GPL = 0, QL_LGPL = 1, QL_MIT = 2 } | 
| qore library and module license type identifiers  More... | |
provides type and other definitions for the Qore library
| typedef void(* q_constructor2_t) (const QoreClass &thisclass, QoreObject *self, const QoreListNode *args, ExceptionSink *xsink) | 
the type used for builtin QoreClass constructor method signatures using the new generic calling convention
| thisclass | a constant reference to the QoreClass being constructed (in a heirarchy, could be different than the QoreClass returned from QoreObject::getClass() | 
| self | the QoreObject that the function is being executed on | 
| args | the list of arguments to the function (could be 0), use inline functions in params.h to access | 
| xsink | Qore-language exception information should be stored here by calling ExceptionSink::raiseException() | 
| typedef void(* q_constructor3_t) (const QoreClass &thisclass, const type_vec_t &typeList, const void *ptr, QoreObject *self, const QoreListNode *args, ExceptionSink *xsink) | 
the type used for builtin QoreClass constructor method signatures using the even newer generic calling convention supporting hard typing and method variants
| thisclass | a constant reference to the QoreClass being constructed (in a heirarchy, could be different than the QoreClass returned from QoreObject::getClass() | 
| typeList | a constant reference to the list of types defined for the variant being called | 
| ptr | a pointer to user-defined member set when the variant is added to the method | 
| self | the QoreObject that the function is being executed on | 
| args | the list of arguments to the function (could be 0), use inline functions in params.h to access | 
| xsink | Qore-language exception information should be stored here by calling ExceptionSink::raiseException() | 
| typedef void(* q_constructor_t) (QoreObject *self, const QoreListNode *args, ExceptionSink *xsink) | 
the type used for builtin QoreClass constructor method signatures
| self | the QoreObject that the function is being executed on | 
| args | the list of arguments to the function (could be 0), use inline functions in params.h to access | 
| xsink | Qore-language exception information should be stored here by calling ExceptionSink::raiseException() | 
| typedef void(* q_copy2_t) (const QoreClass &thisclass, QoreObject *self, QoreObject *old, AbstractPrivateData *private_data, ExceptionSink *xsink) | 
the type used for builtin QoreClass copy signatures with the new generic calling convention
this function must set any private data against the new object by calling QoreObject::setPrivate() on self 
| thisclass | a constant reference to the QoreClass being copied | 
| self | the QoreObject that the function is being executed on (the new copy of the object) | 
| old | the object being copied | 
| private_data | the object's private data representing the state of the object for the current builtin class | 
| xsink | Qore-language exception information should be stored here by calling ExceptionSink::raiseException() | 
| typedef void(* q_copy3_t) (const QoreClass &thisclass, const void *ptr, QoreObject *self, QoreObject *old, AbstractPrivateData *private_data, ExceptionSink *xsink) | 
the type used for builtin QoreClass copy signatures with the new generic calling convention
this function must set any private data against the new object by calling QoreObject::setPrivate() on self 
| thisclass | a constant reference to the QoreClass being copied | 
| ptr | a pointer to user-defined member set when the variant is added to the method | 
| self | the QoreObject that the function is being executed on (the new copy of the object) | 
| old | the object being copied | 
| private_data | the object's private data representing the state of the object for the current builtin class | 
| xsink | Qore-language exception information should be stored here by calling ExceptionSink::raiseException() | 
| typedef void(* q_copy_t) (QoreObject *self, QoreObject *old, AbstractPrivateData *private_data, ExceptionSink *xsink) | 
the type used for builtin QoreClass copy signatures
this function must set any private data against the new object by calling QoreObject::setPrivate() on self 
| self | the QoreObject that the function is being executed on (the new copy of the object) | 
| old | the object being copied | 
| private_data | the object's private data representing the state of the object for the current builtin class | 
| xsink | Qore-language exception information should be stored here by calling ExceptionSink::raiseException() | 
| typedef bool(* q_delete_blocker_t) (QoreObject *self, AbstractPrivateData *private_data) | 
the typed used for QoreClass deleteBlocker signatures
| self | the QoreObject that the function is being executed on | 
| private_data | the object's private data representing the state of the object for the current builtin class | 
| typedef void(* q_destructor2_t) (const QoreClass &thisclass, QoreObject *self, AbstractPrivateData *private_data, ExceptionSink *xsink) | 
the type used for builtin QoreClass destructor signatures with the new generic calling convention
destructors are optional, but, if present, must call AbstractPrivateData::deref() on any private data (if present)
| thisclass | a constant reference to the QoreClass | 
| self | the QoreObject that the function is being executed on | 
| private_data | the object's private data representing the state of the object for the current builtin class | 
| xsink | Qore-language exception information should be stored here by calling ExceptionSink::raiseException() | 
| typedef void(* q_destructor3_t) (const QoreClass &thisclass, const void *ptr, QoreObject *self, AbstractPrivateData *private_data, ExceptionSink *xsink) | 
the type used for builtin QoreClass destructor signatures with the new generic calling convention and user-defined data
destructors are optional, but, if present, must call AbstractPrivateData::deref() on any private data (if present)
| thisclass | a constant reference to the QoreClass | 
| ptr | a pointer to user-defined member set when the variant is added to the method | 
| self | the QoreObject that the function is being executed on | 
| private_data | the object's private data representing the state of the object for the current builtin class | 
| xsink | Qore-language exception information should be stored here by calling ExceptionSink::raiseException() | 
| typedef void(* q_destructor_t) (QoreObject *self, AbstractPrivateData *private_data, ExceptionSink *xsink) | 
the type used for builtin QoreClass destructor signatures
destructors are optional, but, if present, must call AbstractPrivateData::deref() on any private data (if present)
| self | the QoreObject that the function is being executed on | 
| private_data | the object's private data representing the state of the object for the current builtin class | 
| xsink | Qore-language exception information should be stored here by calling ExceptionSink::raiseException() | 
| typedef AbstractQoreNode*(* q_func_t) (const QoreListNode *args, ExceptionSink *xsink) | 
the type used for builtin function signatures
| args | the list of arguments to the function (could be 0), use inline functions in params.h to access | 
| xsink | Qore-language exception information should be stored here by calling ExceptionSink::raiseException() | 
| typedef AbstractQoreNode*(* q_method2_t) (const QoreMethod &method, QoreObject *self, AbstractPrivateData *private_data, const QoreListNode *args, ExceptionSink *xsink) | 
the type used for builtin QoreClass method signatures when called with the new generic calling convention
| method | a constant reference to the QoreMethod being called | 
| self | the QoreObject that the function is being executed on | 
| private_data | the object's private data representing the state of the object | 
| args | the list of arguments to the function (could be 0), use inline functions in params.h to access | 
| xsink | Qore-language exception information should be stored here by calling ExceptionSink::raiseException() | 
| typedef AbstractQoreNode*(* q_method3_t) (const QoreMethod &method, const type_vec_t &typeList, const void *ptr, QoreObject *self, AbstractPrivateData *private_data, const QoreListNode *args, ExceptionSink *xsink) | 
the type used for builtin QoreClass method signatures when called with the even newer generic calling convention supporting hard typing and method variants
| method | a constant reference to the QoreMethod being called | 
| typeList | a constant reference to the list of types defined for the variant being called | 
| ptr | a pointer to user-defined member set when the variant is added to the method | 
| self | the QoreObject that the function is being executed on | 
| private_data | the object's private data representing the state of the object | 
| args | the list of arguments to the function (could be 0), use inline functions in params.h to access | 
| xsink | Qore-language exception information should be stored here by calling ExceptionSink::raiseException() | 
| typedef bool(* q_method_bool_t) (QoreObject *self, AbstractPrivateData *private_data, const QoreListNode *args, ExceptionSink *xsink) | 
the type used for builtin QoreClass method signatures when called with the even newer generic calling convention supporting hard typing and method variants, returns bool
| self | the QoreObject that the function is being executed on | 
| private_data | the object's private data representing the state of the object | 
| args | the list of arguments to the function (could be 0), use inline functions in params.h to access | 
| xsink | Qore-language exception information should be stored here by calling ExceptionSink::raiseException() | 
| typedef double(* q_method_double_t) (QoreObject *self, AbstractPrivateData *private_data, const QoreListNode *args, ExceptionSink *xsink) | 
the type used for builtin QoreClass method signatures when called with the even newer generic calling convention supporting hard typing and method variants, returns double
| self | the QoreObject that the function is being executed on | 
| private_data | the object's private data representing the state of the object | 
| args | the list of arguments to the function (could be 0), use inline functions in params.h to access | 
| xsink | Qore-language exception information should be stored here by calling ExceptionSink::raiseException() | 
| typedef int64(* q_method_int64_t) (QoreObject *self, AbstractPrivateData *private_data, const QoreListNode *args, ExceptionSink *xsink) | 
the type used for builtin QoreClass method signatures, returns int64
| self | the QoreObject that the function is being executed on | 
| private_data | the object's private data representing the state of the object | 
| args | the list of arguments to the function (could be 0), use inline functions in params.h to access | 
| xsink | Qore-language exception information should be stored here by calling ExceptionSink::raiseException() | 
| typedef int(* q_method_int_t) (QoreObject *self, AbstractPrivateData *private_data, const QoreListNode *args, ExceptionSink *xsink) | 
the type used for builtin QoreClass method signatures when called with the even newer generic calling convention supporting hard typing and method variants, returns int
| self | the QoreObject that the function is being executed on | 
| private_data | the object's private data representing the state of the object | 
| args | the list of arguments to the function (could be 0), use inline functions in params.h to access | 
| xsink | Qore-language exception information should be stored here by calling ExceptionSink::raiseException() | 
| typedef AbstractQoreNode*(* q_method_t) (QoreObject *self, AbstractPrivateData *private_data, const QoreListNode *args, ExceptionSink *xsink) | 
the type used for builtin QoreClass method signatures
| self | the QoreObject that the function is being executed on | 
| private_data | the object's private data representing the state of the object | 
| args | the list of arguments to the function (could be 0), use inline functions in params.h to access | 
| xsink | Qore-language exception information should be stored here by calling ExceptionSink::raiseException() | 
| typedef AbstractQoreNode*(* q_static_method2_t) (const QoreMethod &method, const QoreListNode *args, ExceptionSink *xsink) | 
the type used for builtin static method signatures for static methods using the new generic calling convention
| method | a constant reference to the QoreMethod being called | 
| args | the list of arguments to the function (could be 0), use inline functions in params.h to access | 
| xsink | Qore-language exception information should be stored here by calling ExceptionSink::raiseException() | 
| typedef AbstractQoreNode*(* q_static_method3_t) (const QoreMethod &method, const type_vec_t &typeList, const void *ptr, const QoreListNode *args, ExceptionSink *xsink) | 
the type used for builtin static method signatures for static methods using the even newer generic calling convention supporting hard typing and method variants
| method | a constant reference to the QoreMethod being called | 
| typeList | a constant reference to the list of types defined for the variant being called | 
| ptr | a pointer to user-defined member set when the variant is added to the method | 
| args | the list of arguments to the function (could be 0), use inline functions in params.h to access | 
| xsink | Qore-language exception information should be stored here by calling ExceptionSink::raiseException() | 
| typedef void(* q_system_constructor2_t) (const QoreClass &thisclass, QoreObject *self, int code, va_list args) | 
the type used for builtin QoreClass system constructor method signatures using the new generic calling convention
System constructors are called for objects that are created automatically by the library, normally to be assigned to constants. System objects are treated specially by the Qore library as they are not associated with any QoreProgram object. Additionally, system object constructors are not allowed to raise exceptions.
| self | the QoreObject that the function is being executed on | 
| code | this argument is necessary in order to be able to provide the va_list in the following argument due to the way QoreClass::execSystemConstructor() is called. If not required by the constuctor, this argument can be ignored. | 
| args | a variable-length list of arguments to the system constructor | 
| typedef void(* q_system_constructor_t) (QoreObject *self, int code, va_list args) | 
the type used for builtin QoreClass system constructor method signatures
System constructors are called for objects that are created automatically by the library, normally to be assigned to constants. System objects are treated specially by the Qore library as they are not associated with any QoreProgram object. Additionally, system object constructors are not allowed to raise exceptions.
| self | the QoreObject that the function is being executed on | 
| code | this argument is necessary in order to be able to provide the va_list in the following argument due to the way QoreClass::execSystemConstructor() is called. If not required by the constuctor, this argument can be ignored. | 
| args | a variable-length list of arguments to the system constructor | 
| typedef unsigned q_trid_t | 
type for thread resource IDs (unique within a single running qore library process)
| enum qore_license_t |