comparison include/ArrayOpsPrimitive.h @ 357:9784459f0750

An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables Q_CLASSINFO implementation Now Qtd can be built on Windows
author Max Samukha <maxter@spambox.com>
date Wed, 02 Jun 2010 19:38:05 +0300
parents 5917a613d118
children d2f48c4cb3e3
comparison
equal deleted inserted replaced
356:12cec2d14e1c 357:9784459f0750
1 /** 1 /**
2 * 2 Copyright: Copyright QtD Team, 2008-2010
3 * Copyright: Copyright QtD Team, 2008-2009 3 License: Boost License 1.0
4 * License: <a href="http://www.boost.org/LICENSE_1_0.txt>Boost License 1.0</a> 4 */
5 *
6 * Copyright QtD Team, 2008-2009
7 * Distributed under the Boost Software License, Version 1.0.
8 * (See accompanying file boost-license-1.0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9 *
10 */
11 5
12 #ifndef ARRAY_OPS_PRIMITIVE_H 6 #ifndef ARRAY_OPS_PRIMITIVE_H
13 #define ARRAY_OPS_PRIMITIVE_H 7 #define ARRAY_OPS_PRIMITIVE_H
14 8
15 #include "qtd_core.h" 9 #include "qtd_core.h"
16 10
17 // int 11 // int
18 QTD_EXPORT(void, qtd_allocate_int_array, (void* arr, size_t len)) 12 QTD_EXPORT_DECL(CORE, void, allocate_int_array, (void* arr, size_t len))
19 QTD_EXPORT(void, qtd_assign_int_array_element, (void* arr, size_t pos, int elem)) 13 QTD_EXPORT_DECL(CORE, void, assign_int_array_element, (void* arr, size_t pos, int elem))
20 QTD_EXPORT(void, qtd_get_int_from_array, (void* arr, size_t pos, int* elem)) 14 QTD_EXPORT_DECL(CORE, void, get_int_from_array, (void* arr, size_t pos, int* elem))
21 15
22 // uint 16 // uint
23 QTD_EXPORT(void, qtd_allocate_uint_array, (void* arr, size_t len)) 17 QTD_EXPORT_DECL(CORE, void, allocate_uint_array, (void* arr, size_t len))
24 QTD_EXPORT(void, qtd_assign_uint_array_element, (void* arr, size_t pos, uint elem)) 18 QTD_EXPORT_DECL(CORE, void, assign_uint_array_element, (void* arr, size_t pos, uint elem))
25 QTD_EXPORT(void, qtd_get_uint_from_array, (void* arr, size_t pos, uint* elem)) 19 QTD_EXPORT_DECL(CORE, void, get_uint_from_array, (void* arr, size_t pos, uint* elem))
26 20
27 // double 21 // double
28 QTD_EXPORT(void, qtd_allocate_double_array, (void* arr, size_t len)) 22 QTD_EXPORT_DECL(CORE, void, allocate_double_array, (void* arr, size_t len))
29 QTD_EXPORT(void, qtd_assign_double_array_element, (void* arr, size_t pos, double elem)) 23 QTD_EXPORT_DECL(CORE, void, assign_double_array_element, (void* arr, size_t pos, double elem))
30 QTD_EXPORT(void, qtd_get_double_from_array, (void* arr, size_t pos, double* elem)) 24 QTD_EXPORT_DECL(CORE, void, get_double_from_array, (void* arr, size_t pos, double* elem))
31 25
32 // string 26 // string
33 QTD_EXPORT(void, qtd_allocate_string_array, (void* arr, size_t len)) 27 QTD_EXPORT_DECL(CORE, void, allocate_string_array, (void* arr, size_t len))
34 QTD_EXPORT(void, qtd_assign_string_array_element, (void* arr, size_t pos, void* elem)) 28 QTD_EXPORT_DECL(CORE, void, assign_string_array_element, (void* arr, size_t pos, void* elem))
35 QTD_EXPORT(void*, qtd_string_from_array, (void* arr, size_t pos)) 29 QTD_EXPORT_DECL(CORE, void*, string_from_array, (void* arr, size_t pos))
36 QTD_EXPORT(void, qtd_get_string_from_array, (void* arr, size_t pos, DArray* elem)) 30 QTD_EXPORT_DECL(CORE, void, get_string_from_array, (void* arr, size_t pos, DArray* elem))
37
38 #ifdef CPP_SHARED
39
40 #define qtd_allocate_int_array qtd_get_qtd_allocate_int_array()
41 #define qtd_assign_int_array_element qtd_get_qtd_assign_int_array_element()
42 #define qtd_get_int_from_array qtd_get_qtd_get_int_from_array()
43
44 #define qtd_allocate_uint_array qtd_get_qtd_allocate_uint_array()
45 #define qtd_assign_uint_array_element qtd_get_qtd_assign_uint_array_element()
46 #define qtd_get_uint_from_array qtd_get_qtd_get_uint_from_array()
47
48 #define qtd_allocate_double_array qtd_get_qtd_allocate_double_array()
49 #define qtd_assign_double_array_element qtd_get_qtd_assign_double_array_element()
50 #define qtd_get_double_from_array qtd_get_qtd_get_double_from_array()
51
52 #define qtd_allocate_string_array qtd_get_qtd_allocate_string_array()
53 #define qtd_assign_string_array_element qtd_get_qtd_assign_string_array_element()
54 #define qtd_string_from_array qtd_get_qtd_string_from_array()
55 #define qtd_get_string_from_array qtd_get_qtd_get_string_from_array()
56
57 #endif
58
59 /*
60 // int
61 extern "C" void qtd_allocate_int_array(void* arr, size_t len);
62 extern "C" void qtd_assign_int_array_element(void* arr, size_t pos, int elem);
63
64 // uint
65 extern "C" void qtd_allocate_uint_array(void* arr, size_t len);
66 extern "C" void qtd_assign_uint_array_element(void* arr, size_t pos, uint elem);
67
68 // double
69 extern "C" void qtd_allocate_double_array(void* arr, size_t len);
70 extern "C" void qtd_assign_double_array_element(void* arr, size_t pos, double elem);
71
72 // string
73 extern "C" void qtd_allocate_string_array(void* arr, size_t len);
74 extern "C" void qtd_assign_string_array_element(void* arr, size_t pos, void* elem);
75 extern "C" void* qtd_string_from_array(void* arr, size_t pos);
76 extern "C" void qtd_get_string_from_array(void* arr, size_t pos, char** elem, size_t* elem_size);
77 */
78 31
79 #endif // ARRAY_OPS_PRIMITIVE_H 32 #endif // ARRAY_OPS_PRIMITIVE_H