32 #ifndef _QORE_COMMON_H    34 #define _QORE_COMMON_H    58 #define Q_AF_UNSPEC -1    67 #define Q_SOCK_STREAM -1    92 enum ClassAccess : 
unsigned char {
    99 #if defined _MSC_VER || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)   102 #define _Q_WINDOWS64 1   108     #define DLLEXPORT __declspec(dllexport)   110     #define DLLEXPORT __declspec(dllimport)   116   #define QLLDx(a) "%" #a "I64d"   117   #define QORE_DIR_SEP '\\'   118   #define QORE_DIR_SEP_STR "\\"   119   #define QORE_PATH_SEP ';'   120   #define QORE_PATH_SEP_STR ";"   121   #include <winsock2.h>   123   #ifdef HAVE_GCC_VISIBILITY   124     #define DLLEXPORT __attribute__ ((visibility("default")))   125     #define DLLLOCAL __attribute__ ((visibility("hidden")))   132   #define QLLDx(a) "%" #a "lld"   133   #define QORE_DIR_SEP '/'   134   #define QORE_DIR_SEP_STR "/"   135   #define QORE_PATH_SEP ':'   136   #define QORE_PATH_SEP_STR ":"   139 #define _Q_MAKE_STRING(x) #x   140 #define MAKE_STRING_FROM_SYMBOL(x) _Q_MAKE_STRING(x)   149 class QoreBuiltinMethod;
   152 class QoreExternalFunction;
   153 class QoreExternalGlobalVar;
   160 typedef std::vector<const QoreClass*> class_vec_t;
   161 typedef std::vector<std::pair<const TypedHashDecl*, const QoreNamespace*>> hashdecl_vec_t;
   162 typedef std::vector<const QoreExternalFunction*> func_vec_t;
   163 typedef std::vector<const QoreNamespace*> ns_vec_t;
   164 typedef std::vector<std::pair<const QoreExternalGlobalVar*, const QoreNamespace*>> gvar_vec_t;
   165 typedef std::vector<std::pair<const QoreExternalConstant*, const QoreNamespace*>> const_vec_t;
   168 template <
typename T> 
hashdecl free_ptr : std::unary_function <T*, void> {
   169     DLLLOCAL 
void operator()(T* ptr) {
   176     DLLLOCAL 
void operator()(T* ptr) {
   183     DLLLOCAL 
void operator()(T* ptr) {
   194     DLLLOCAL 
bool operator()(
const char* s1, 
const char* s2)
 const {
   195         return strcmp(s1, s2) < 0;
   202     DLLLOCAL 
bool operator()(
const char* s1, 
const char* s2)
 const {
   203         return strcasecmp(s1, s2) < 0;
   210     DLLLOCAL 
bool operator()(std::string s1, std::string s2)
 const {
   211         return strcasecmp(s1.c_str(), s2.c_str()) < 0;
   217     DLLLOCAL 
bool operator()(
const char* s1, 
const char* s2)
 const {
   218         return !strcmp(s1, s2);
   224     DLLLOCAL 
bool operator()(
const char* s1, 
const char* s2)
 const {
   225         return !strcasecmp(s1, s2);
   232     DLLLOCAL 
bool operator()(
const char s1, 
const char s2)
 const {
   244     DLLLOCAL 
void clear() {
   246         std::vector<char*>::clear();
   277     DLLLOCAL 
void addModule(
const char* module);
   454 DLLEXPORT 
long long q_atoll(
const char* str);
   461 #endif // _QORE_COMMON_H void(* q_external_constructor_t)(const QoreMethod &method, const void *ptr, QoreObject *self, const QoreListNode *args, q_rt_flags_t rtflags, ExceptionSink *xsink)
the type used for builtin QoreClass constructor method signatures 
Definition: common.h:366
 
external wrapper class for constants 
Definition: QoreReflection.h:200
 
This is the hash or associative list container type in Qore, dynamically allocated only...
Definition: QoreHashNode.h:50
 
the base class for all data to be used as private data of Qore objects 
Definition: AbstractPrivateData.h:44
 
void(* q_destructor_t)(QoreObject *self, AbstractPrivateData *private_data, ExceptionSink *xsink)
the type used for builtin QoreClass destructor signatures 
Definition: common.h:386
 
QoreValue(* q_external_static_method_t)(const QoreMethod &method, const void *ptr, const QoreListNode *args, q_rt_flags_t flags, ExceptionSink *xsink)
the type used for external static methods 
Definition: common.h:346
 
DLLEXPORT const char * type_get_name(const QoreTypeInfo *t)
returns the type name for an opaqua QoreTypeInfo ptr 
 
DLLEXPORT long long q_atoll(const char *str)
returns an integer value for a string 
 
void(* q_system_constructor_t)(QoreObject *self, int code, va_list args)
the type used for builtin QoreClass system constructor method signatures 
Definition: common.h:378
 
non-thread-safe vector for storing "char*" that you want to delete 
Definition: common.h:238
 
The base class for all value and parse types in Qore expression trees. 
Definition: AbstractQoreNode.h:54
 
code to be used under the LGPL license 
Definition: common.h:87
 
contains constants, classes, and subnamespaces in QoreProgram objects 
Definition: QoreNamespace.h:64
 
size_t qore_size_t
used for sizes (same range as a pointer) 
Definition: common.h:73
 
for char less-than comparisons 
Definition: common.h:230
 
for simple c-string less-than comparisons 
Definition: common.h:192
 
uint64_t q_rt_flags_t
runtime code execution flags 
Definition: common.h:263
 
for simple c-string case-insensitive less-than comparisons 
Definition: common.h:200
 
serialization context object used in builtin serializer methods 
Definition: common.h:268
 
code to be used under the MIT license 
Definition: common.h:88
 
This is the list container type in Qore, dynamically allocated only, reference counted. 
Definition: QoreListNode.h:52
 
void(* q_external_copy_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 ...
Definition: common.h:416
 
defines a Qore-language class 
Definition: QoreClass.h:239
 
void(* q_external_destructor_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...
Definition: common.h:396
 
bool(* q_delete_blocker_t)(QoreObject *self, AbstractPrivateData *private_data)
the typed used for QoreClass deleteBlocker signatures 
Definition: common.h:424
 
void(* q_deserializer_t)(QoreObject &self, const QoreHashNode *sdata, QoreDeserializationContext &context, ExceptionSink *xsink)
the type used for builtin QoreClass deserializer method signatures 
Definition: common.h:446
 
functor template for deleting elements 
Definition: common.h:175
 
void(* q_constructor_n_t)(QoreObject *self, const QoreListNode *args, q_rt_flags_t rtflags, ExceptionSink *xsink)
the type used for builtin QoreClass constructor method signatures 
Definition: common.h:354
 
QoreValue(* q_method_n_t)(QoreObject *self, AbstractPrivateData *private_data, const QoreListNode *args, q_rt_flags_t flags, ExceptionSink *xsink)
the type used for builtin QoreClass method signatures 
Definition: common.h:318
 
unsigned q_trid_t
type for thread resource IDs (unique within a single running qore library process) ...
Definition: common.h:451
 
The main value class in Qore, designed to be passed by value. 
Definition: QoreValue.h:262
 
qore_license_t
qore library and module license type identifiers 
Definition: common.h:85
 
the implementation of Qore's object data type, reference counted, dynamically-allocated only ...
Definition: QoreObject.h:61
 
unsigned qore_classid_t
used for the unique class ID for QoreClass objects 
Definition: common.h:79
 
for std::string case-insensitive less-than comparisons 
Definition: common.h:208
 
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:46
 
std::vector< std::string > name_vec_t
vector of parameter names for parameter lists 
Definition: common.h:257
 
long long int64
64bit integer type, cannot use int64_t here since it breaks the API on some 64-bit systems due to equ...
Definition: common.h:260
 
std::vector< QoreValue > arg_vec_t
vector of value information for default argument lists 
Definition: common.h:254
 
intptr_t qore_offset_t
used for offsets that could be negative 
Definition: common.h:76
 
typed hash declaration 
Definition: TypedHashDecl.h:44
 
code to be used under the GPL license 
Definition: common.h:86
 
int16_t qore_type_t
used to identify unique Qore data and parse types (descendents of AbstractQoreNode) ...
Definition: common.h:70
 
std::set< int > int_set_t
set of integers 
Definition: common.h:82
 
void(* q_copy_t)(QoreObject *self, QoreObject *old, AbstractPrivateData *private_data, ExceptionSink *xsink)
the type used for builtin QoreClass copy signatures 
Definition: common.h:405
 
QoreValue(* q_external_method_t)(const QoreMethod &method, const void *ptr, QoreObject *self, AbstractPrivateData *private_data, const QoreListNode *args, q_rt_flags_t flags, ExceptionSink *xsink)
the type used for builtin QoreClass method signatures 
Definition: common.h:333
 
std::vector< const QoreTypeInfo * > type_vec_t
vector of type information for parameter lists 
Definition: common.h:251
 
a method in a QoreClass 
Definition: QoreClass.h:125
 
deserialization context object used in builtin deserializer methods 
Definition: common.h:287
 
QoreValue(* q_func_n_t)(const QoreListNode *args, q_rt_flags_t flags, ExceptionSink *xsink)
the type used for builtin function signatures 
Definition: common.h:307
 
functor template for dereferencing elements 
Definition: common.h:182
 
functor template for calling free() on pointers 
Definition: common.h:168