32 #ifndef _QORE_QORETYPE_H
34 #define _QORE_QORETYPE_H
48 DLLEXPORT
extern QoreNumberNode* ZeroNumber, * InfinityNumber, * NaNumber, * piNumber;
50 DLLEXPORT
extern QoreString NothingTypeString, NullTypeString, TrueString,
51 FalseString, EmptyHashString, EmptyListString;
53 DLLEXPORT
extern const QoreTypeInfo* anyTypeInfo,
71 *runTimeClosureTypeInfo,
72 *callReferenceTypeInfo,
82 *softAutoListTypeInfo,
85 *bigIntOrFloatTypeInfo,
86 *bigIntFloatOrNumberTypeInfo,
87 *floatOrNumberTypeInfo,
89 *bigIntOrNothingTypeInfo,
90 *floatOrNothingTypeInfo,
91 *numberOrNothingTypeInfo,
92 *stringOrNothingTypeInfo,
93 *boolOrNothingTypeInfo,
94 *binaryOrNothingTypeInfo,
95 *objectOrNothingTypeInfo,
96 *dateOrNothingTypeInfo,
97 *hashOrNothingTypeInfo,
98 *autoHashOrNothingTypeInfo,
99 *listOrNothingTypeInfo,
100 *autoListOrNothingTypeInfo,
101 *nullOrNothingTypeInfo,
102 *codeOrNothingTypeInfo,
103 *dataOrNothingTypeInfo,
104 *referenceOrNothingTypeInfo,
106 *softBigIntOrNothingTypeInfo,
107 *softFloatOrNothingTypeInfo,
108 *softNumberOrNothingTypeInfo,
109 *softBoolOrNothingTypeInfo,
110 *softStringOrNothingTypeInfo,
111 *softDateOrNothingTypeInfo,
112 *softListOrNothingTypeInfo,
113 *softAutoListOrNothingTypeInfo,
114 *timeoutOrNothingTypeInfo;
174 enum qore_type_result_e {
185 DLLEXPORT
int testObjectClassAccess(
const QoreObject* obj,
const QoreClass* classtoaccess);
187 DLLEXPORT
const QoreClass* typeInfoGetUniqueReturnClass(
const QoreTypeInfo* typeInfo);
188 DLLEXPORT
bool typeInfoHasType(
const QoreTypeInfo* typeInfo);
189 DLLEXPORT
const char* typeInfoGetName(
const QoreTypeInfo* typeInfo);
190 DLLEXPORT qore_type_result_e typeInfoAcceptsType(
const QoreTypeInfo* typeInfo,
const QoreTypeInfo* otherTypeInfo);
191 DLLEXPORT qore_type_result_e typeInfoReturnsType(
const QoreTypeInfo* typeInfo,
const QoreTypeInfo* otherTypeInfo);
193 DLLEXPORT
const QoreTypeInfo* qore_get_or_nothing_type(
const QoreTypeInfo* typeInfo);
196 DLLEXPORT
const QoreTypeInfo* qore_get_complex_hash_type(
const QoreTypeInfo* valueTypeInfo);
198 DLLEXPORT
const QoreTypeInfo* qore_get_complex_hash_or_nothing_type(
const QoreTypeInfo* valueTypeInfo);
200 DLLEXPORT
const QoreTypeInfo* qore_get_complex_list_type(
const QoreTypeInfo* valueTypeInfo);
202 DLLEXPORT
const QoreTypeInfo* qore_get_complex_list_or_nothing_type(
const QoreTypeInfo* valueTypeInfo);
204 DLLEXPORT
const QoreTypeInfo* qore_get_complex_softlist_type(
const QoreTypeInfo* valueTypeInfo);
206 DLLEXPORT
const QoreTypeInfo* qore_get_complex_softlist_or_nothing_type(
const QoreTypeInfo* valueTypeInfo);
208 DLLEXPORT
const QoreTypeInfo* qore_get_complex_reference_type(
const QoreTypeInfo* valueTypeInfo);
210 DLLEXPORT
const QoreTypeInfo* qore_get_complex_reference_or_nothing_type(
const QoreTypeInfo* valueTypeInfo);
213 DLLEXPORT
const QoreTypeInfo* qore_get_type_from_string(
const char* str);
215 #endif // _QORE_QORETYPE_H
Qore's arbitrary-precision number value type, dynamically-allocated only, reference counted...
Definition: QoreNumberNode.h:51
Qore's floating-point value type, dynamically-allocated only, reference counted.
Definition: QoreFloatNode.h:39
This is the hash or associative list container type in Qore, dynamically allocated only...
Definition: QoreHashNode.h:50
DLLEXPORT QoreBoolFalseNode False
Qore's boolean false value.
The base class for all value and parse types in Qore expression trees.
Definition: AbstractQoreNode.h:54
Qore's string type supported by the QoreEncoding class.
Definition: QoreString.h:82
Qore's string value type, reference counted, dynamically-allocated only.
Definition: QoreStringNode.h:50
DLLEXPORT QoreBoolTrueNode True
Qore's boolean true value.
This is the list container type in Qore, dynamically allocated only, reference counted.
Definition: QoreListNode.h:52
Qore's parse tree/value type for date-time values, reference-counted, dynamically-allocated only...
Definition: DateTimeNode.h:45
defines a Qore-language class
Definition: QoreClass.h:214
The main value class in Qore, designed to be passed by value.
Definition: QoreValue.h:112
DLLEXPORT void ref() const
increments the reference count
the implementation of Qore's object data type, reference counted, dynamically-allocated only ...
Definition: QoreObject.h:62
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:47
int16_t qore_type_t
used to identify unique Qore data and parse types (descendents of AbstractQoreNode) ...
Definition: common.h:71
this class implements Qore's 64-bit integer data type, reference-counted, dynamically-allocated only ...
Definition: QoreBigIntNode.h:41