32 #ifndef _QORE_COMMON_H
34 #define _QORE_COMMON_H
55 #define Q_AF_UNSPEC -1
64 #define Q_SOCK_STREAM -1
88 #if defined _MSC_VER || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
90 #define DLLEXPORT __declspec(dllexport)
92 #define DLLEXPORT __declspec(dllimport)
98 #define QLLDx(a) "%" #a "I64d"
99 #define QORE_DIR_SEP '\\'
100 #define QORE_DIR_SEP_STR "\\"
102 #ifdef HAVE_GCC_VISIBILITY
103 #define DLLEXPORT __attribute__ ((visibility("default")))
104 #define DLLLOCAL __attribute__ ((visibility("hidden")))
111 #define QLLDx(a) "%" #a "lld"
112 #define QORE_DIR_SEP '/'
113 #define QORE_DIR_SEP_STR "/"
116 #define _Q_MAKE_STRING(x) #x
117 #define MAKE_STRING_FROM_SYMBOL(x) _Q_MAKE_STRING(x)
125 class QoreBuiltinMethod;
130 template <
typename T>
struct free_ptr : std::unary_function <T*, void> {
131 DLLLOCAL
void operator()(T *ptr) {
138 DLLLOCAL
void operator()(T *ptr) {
145 DLLLOCAL
void operator()(T *ptr) {
156 DLLLOCAL
bool operator()(
const char* s1,
const char* s2)
const {
157 return strcmp(s1, s2) < 0;
164 DLLLOCAL
bool operator()(
const char* s1,
const char* s2)
const {
165 return strcasecmp(s1, s2) < 0;
172 DLLLOCAL
bool operator()(std::string s1, std::string s2)
const {
173 return strcasecmp(s1.c_str(), s2.c_str()) < 0;
179 DLLLOCAL
bool operator()(
const char* s1,
const char* s2)
const {
180 return !strcmp(s1, s2);
186 DLLLOCAL
bool operator()(
const char* s1,
const char* s2)
const {
187 return !strcasecmp(s1, s2);
194 DLLLOCAL
bool operator()(
const char s1,
const char s2)
const {
216 typedef long long int64;
434 DLLEXPORT
long long q_atoll(
const char *str);
436 #endif // _QORE_COMMON_H
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:250
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:370
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:408
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:352
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:362
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:379
non-thread-safe vector for storing "char *" that you want to delete
Definition: common.h:200
int64(* q_func_int64_t)(const QoreListNode *args, ExceptionSink *xsink)
the type used for builtin function signatures returning an integer value
Definition: common.h:226
The base class for all value and parse types in Qore expression trees.
Definition: AbstractQoreNode.h:55
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:342
code to be used under the LGPL license
Definition: common.h:84
size_t qore_size_t
used for sizes (same range as a pointer)
Definition: common.h:70
for char less-than comparisons
Definition: common.h:192
for simple c-string less-than comparisons
Definition: common.h:154
long qore_offset_t
used for offsets that could be negative
Definition: common.h:73
std::vector< AbstractQoreNode * > arg_vec_t
vector of value information for default argument lists
Definition: common.h:211
for simple c-string case-insensitive less-than comparisons
Definition: common.h:162
signed short qore_type_t
used to identify unique Qore data and parse types (descendents of AbstractQoreNode) ...
Definition: common.h:67
void(* q_constructor_t)(QoreObject *self, const QoreListNode *args, ExceptionSink *xsink)
the type used for builtin QoreClass constructor method signatures
Definition: common.h:324
code to be used under the MIT license
Definition: common.h:85
This is the list container type in Qore, dynamically allocated only, reference counted.
Definition: QoreListNode.h:52
defines a Qore-language class
Definition: QoreClass.h:194
bool(* q_delete_blocker_t)(QoreObject *self, AbstractPrivateData *private_data)
the typed used for QoreClass deleteBlocker signatures
Definition: common.h:427
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:419
functor template for deleting elements
Definition: common.h:137
unsigned q_trid_t
type for thread resource IDs (unique within a single running qore library process) ...
Definition: common.h:432
qore_license_t
qore library and module license type identifiers
Definition: common.h:82
the implementation of Qore's object data type, reference counted, dynamically-allocated only ...
Definition: QoreObject.h:64
unsigned qore_classid_t
used for the unique class ID for QoreClass objects
Definition: common.h:76
for std::string case-insensitive less-than comparisons
Definition: common.h:170
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:268
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:43
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:277
std::vector< std::string > name_vec_t
vector of parameter names for parameter lists
Definition: common.h:214
code to be used under the GPL license
Definition: common.h:83
std::set< int > int_set_t
set of integers
Definition: common.h:79
double(* q_func_double_t)(const QoreListNode *args, ExceptionSink *xsink)
the type used for builtin function signatures returning an double value
Definition: common.h:232
void(* q_copy_t)(QoreObject *self, QoreObject *old, AbstractPrivateData *private_data, ExceptionSink *xsink)
the type used for builtin QoreClass copy signatures
Definition: common.h:398
a method in a QoreClass
Definition: QoreClass.h:91
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:389
std::vector< const QoreTypeInfo * > type_vec_t
vector of type information for parameter lists
Definition: common.h:208
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:259
functor template for dereferencing elements
Definition: common.h:144
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:332
functor template for calling free() on pointers
Definition: common.h:130
bool(* q_func_bool_t)(const QoreListNode *args, ExceptionSink *xsink)
the type used for builtin function signatures returning a boolean value
Definition: common.h:229