24 #ifndef _QORE_COMMON_H
26 #define _QORE_COMMON_H
46 #define Q_AF_UNSPEC -1
55 #define Q_SOCK_STREAM -1
79 #if defined _MSC_VER || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
81 #define DLLEXPORT __declspec(dllexport)
83 #define DLLEXPORT __declspec(dllimport)
89 #define QLLDx(a) "%" #a "I64d"
90 #define QORE_DIR_SEP '\\'
91 #define QORE_DIR_SEP_STR "\\"
93 #ifdef HAVE_GCC_VISIBILITY
94 #define DLLEXPORT __attribute__ ((visibility("default")))
95 #define DLLLOCAL __attribute__ ((visibility("hidden")))
102 #define QLLDx(a) "%" #a "lld"
103 #define QORE_DIR_SEP '/'
104 #define QORE_DIR_SEP_STR "/"
107 #define _Q_MAKE_STRING(x) #x
108 #define MAKE_STRING_FROM_SYMBOL(x) _Q_MAKE_STRING(x)
116 class QoreBuiltinMethod;
121 template <
typename T>
struct free_ptr : std::unary_function <T*, void> {
122 DLLLOCAL
void operator()(T *ptr) {
129 DLLLOCAL
void operator()(T *ptr) {
136 DLLLOCAL
void operator()(T *ptr) {
147 DLLLOCAL
bool operator()(
const char* s1,
const char* s2)
const {
148 return strcmp(s1, s2) < 0;
155 DLLLOCAL
bool operator()(
const char* s1,
const char* s2)
const {
156 return strcasecmp(s1, s2) < 0;
163 DLLLOCAL
bool operator()(std::string s1, std::string s2)
const {
164 return strcasecmp(s1.c_str(), s2.c_str()) < 0;
170 DLLLOCAL
bool operator()(
const char* s1,
const char* s2)
const {
171 return !strcmp(s1, s2);
177 DLLLOCAL
bool operator()(
const char* s1,
const char* s2)
const {
178 return !strcasecmp(s1, s2);
185 DLLLOCAL
bool operator()(
const char s1,
const char s2)
const {
207 typedef long long int64;
425 DLLEXPORT
long long q_atoll(
const char *str);
427 #endif // _QORE_COMMON_H
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 ...
Definition: common.h:410
bool(* q_delete_blocker_t)(QoreObject *self, AbstractPrivateData *private_data)
the typed used for QoreClass deleteBlocker signatures
Definition: common.h:418
the base class for all data to be used as private data of Qore objects
Definition: AbstractPrivateData.h:36
non-thread-safe vector for storing "char *" that you want to delete
Definition: common.h:191
The base class for all value and parse types in Qore expression trees.
Definition: AbstractQoreNode.h:47
code to be used under the LGPL license
Definition: common.h:75
int64(* q_func_int64_t)(const QoreListNode *args, ExceptionSink *xsink)
the type used for builtin function signatures returning an integer value
Definition: common.h:217
size_t qore_size_t
used for sizes (same range as a pointer)
Definition: common.h:61
for char less-than comparisons
Definition: common.h:183
for simple c-string less-than comparisons
Definition: common.h:145
long qore_offset_t
used for offsets that could be negative
Definition: common.h:64
std::vector< AbstractQoreNode * > arg_vec_t
vector of value information for default argument lists
Definition: common.h:202
for simple c-string case-insensitive less-than comparisons
Definition: common.h:153
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 callin...
Definition: common.h:353
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
Definition: common.h:241
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...
Definition: common.h:268
signed short qore_type_t
used to identify unique Qore data and parse types (descendents of AbstractQoreNode) ...
Definition: common.h:58
code to be used under the MIT license
Definition: common.h:76
This is the list container type in Qore, dynamically allocated only, reference counted.
Definition: QoreListNode.h:44
void(* q_copy_t)(QoreObject *self, QoreObject *old, AbstractPrivateData *private_data, ExceptionSink *xsink)
the type used for builtin QoreClass copy signatures
Definition: common.h:389
void(* q_destructor_t)(QoreObject *self, AbstractPrivateData *private_data, ExceptionSink *xsink)
the type used for builtin QoreClass destructor signatures
Definition: common.h:361
double(* q_func_double_t)(const QoreListNode *args, ExceptionSink *xsink)
the type used for builtin function signatures returning an double value
Definition: common.h:223
defines a Qore-language class
Definition: QoreClass.h:199
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 ...
Definition: common.h:370
functor template for deleting elements
Definition: common.h:128
void(* q_constructor_t)(QoreObject *self, const QoreListNode *args, ExceptionSink *xsink)
the type used for builtin QoreClass constructor method signatures
Definition: common.h:315
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:343
unsigned q_trid_t
type for thread resource IDs (unique within a single running qore library process) ...
Definition: common.h:423
qore_license_t
qore library and module license type identifiers
Definition: common.h:73
the implementation of Qore's object data type, reference counted, dynamically-allocated only ...
Definition: QoreObject.h:56
unsigned qore_classid_t
used for the unique class ID for QoreClass objects
Definition: common.h:67
for std::string case-insensitive less-than comparisons
Definition: common.h:161
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:35
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 conve...
Definition: common.h:323
std::vector< std::string > name_vec_t
vector of parameter names for parameter lists
Definition: common.h:205
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...
Definition: common.h:259
code to be used under the GPL license
Definition: common.h:74
std::set< int > int_set_t
set of integers
Definition: common.h:70
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 callin...
Definition: common.h:333
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...
Definition: common.h:250
a method in a QoreClass
Definition: QoreClass.h:83
std::vector< const QoreTypeInfo * > type_vec_t
vector of type information for parameter lists
Definition: common.h:199
bool(* q_func_bool_t)(const QoreListNode *args, ExceptionSink *xsink)
the type used for builtin function signatures returning a boolean value
Definition: common.h:220
functor template for dereferencing elements
Definition: common.h:135
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 ...
Definition: common.h:399
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...
Definition: common.h:380
functor template for calling free() on pointers
Definition: common.h:121