24 #ifndef _QORE_COMMON_H
26 #define _QORE_COMMON_H
47 #define Q_AF_UNSPEC -1
56 #define Q_SOCK_STREAM -1
80 #if defined _MSC_VER || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
82 #define DLLEXPORT __declspec(dllexport)
84 #define DLLEXPORT __declspec(dllimport)
90 #define QLLDx(a) "%" #a "I64d"
91 #define QORE_DIR_SEP '\\'
92 #define QORE_DIR_SEP_STR "\\"
94 #ifdef HAVE_GCC_VISIBILITY
95 #define DLLEXPORT __attribute__ ((visibility("default")))
96 #define DLLLOCAL __attribute__ ((visibility("hidden")))
103 #define QLLDx(a) "%" #a "lld"
104 #define QORE_DIR_SEP '/'
105 #define QORE_DIR_SEP_STR "/"
108 #define _Q_MAKE_STRING(x) #x
109 #define MAKE_STRING_FROM_SYMBOL(x) _Q_MAKE_STRING(x)
117 class QoreBuiltinMethod;
122 template <
typename T>
struct free_ptr : std::unary_function <T*, void> {
123 DLLLOCAL
void operator()(T *ptr) {
130 DLLLOCAL
void operator()(T *ptr) {
137 DLLLOCAL
void operator()(T *ptr) {
148 DLLLOCAL
bool operator()(
const char* s1,
const char* s2)
const {
149 return strcmp(s1, s2) < 0;
156 DLLLOCAL
bool operator()(
const char* s1,
const char* s2)
const {
157 return strcasecmp(s1, s2) < 0;
164 DLLLOCAL
bool operator()(std::string s1, std::string s2)
const {
165 return strcasecmp(s1.c_str(), s2.c_str()) < 0;
171 DLLLOCAL
bool operator()(
const char* s1,
const char* s2)
const {
172 return !strcmp(s1, s2);
178 DLLLOCAL
bool operator()(
const char* s1,
const char* s2)
const {
179 return !strcasecmp(s1, s2);
186 DLLLOCAL
bool operator()(
const char s1,
const char s2)
const {
208 typedef long long int64;
426 DLLEXPORT
long long q_atoll(
const char *str);
428 #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:411
bool(* q_delete_blocker_t)(QoreObject *self, AbstractPrivateData *private_data)
the typed used for QoreClass deleteBlocker signatures
Definition: common.h:419
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:192
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:76
int64(* q_func_int64_t)(const QoreListNode *args, ExceptionSink *xsink)
the type used for builtin function signatures returning an integer value
Definition: common.h:218
size_t qore_size_t
used for sizes (same range as a pointer)
Definition: common.h:62
for char less-than comparisons
Definition: common.h:184
for simple c-string less-than comparisons
Definition: common.h:146
long qore_offset_t
used for offsets that could be negative
Definition: common.h:65
std::vector< AbstractQoreNode * > arg_vec_t
vector of value information for default argument lists
Definition: common.h:203
for simple c-string case-insensitive less-than comparisons
Definition: common.h:154
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:354
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:242
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:269
signed short qore_type_t
used to identify unique Qore data and parse types (descendents of AbstractQoreNode) ...
Definition: common.h:59
code to be used under the MIT license
Definition: common.h:77
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:390
void(* q_destructor_t)(QoreObject *self, AbstractPrivateData *private_data, ExceptionSink *xsink)
the type used for builtin QoreClass destructor signatures
Definition: common.h:362
double(* q_func_double_t)(const QoreListNode *args, ExceptionSink *xsink)
the type used for builtin function signatures returning an double value
Definition: common.h:224
defines a Qore-language class
Definition: QoreClass.h:186
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:371
functor template for deleting elements
Definition: common.h:129
void(* q_constructor_t)(QoreObject *self, const QoreListNode *args, ExceptionSink *xsink)
the type used for builtin QoreClass constructor method signatures
Definition: common.h:316
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:344
unsigned q_trid_t
type for thread resource IDs (unique within a single running qore library process) ...
Definition: common.h:424
qore_license_t
qore library and module license type identifiers
Definition: common.h:74
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:68
for std::string case-insensitive less-than comparisons
Definition: common.h:162
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:324
std::vector< std::string > name_vec_t
vector of parameter names for parameter lists
Definition: common.h:206
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:260
code to be used under the GPL license
Definition: common.h:75
std::set< int > int_set_t
set of integers
Definition: common.h:71
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:334
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:251
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:200
bool(* q_func_bool_t)(const QoreListNode *args, ExceptionSink *xsink)
the type used for builtin function signatures returning a boolean value
Definition: common.h:221
functor template for dereferencing elements
Definition: common.h:136
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:400
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:381
functor template for calling free() on pointers
Definition: common.h:122