20 #ifndef GEODE_CACHEABLEBUILTINS_H_
21 #define GEODE_CACHEABLEBUILTINS_H_
32 #include "Serializable.hpp"
33 #include "Serializer.hpp"
34 #include "internal/CacheableBuiltinTemplates.hpp"
35 #include "internal/CacheableKeys.hpp"
46 internal::CacheableKeyPrimitive<bool, internal::DSCode::CacheableBoolean>;
47 extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
48 internal::CacheableKeyPrimitive<bool, internal::DSCode::CacheableBoolean>;
51 return CacheableBoolean::create(value);
55 return CacheableBoolean::create(value);
63 internal::CacheableKeyPrimitive<int8_t, internal::DSCode::CacheableByte>;
64 extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
65 internal::CacheableKeyPrimitive<int8_t, internal::DSCode::CacheableByte>;
68 return CacheableByte::create(value);
72 return CacheableByte::create(value);
80 internal::CacheableKeyPrimitive<double, internal::DSCode::CacheableDouble>;
81 extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
82 internal::CacheableKeyPrimitive<double, internal::DSCode::CacheableDouble>;
85 return CacheableDouble::create(value);
89 return CacheableDouble::create(value);
98 internal::CacheableKeyPrimitive<float, internal::DSCode::CacheableFloat>;
99 extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
100 internal::CacheableKeyPrimitive<float, internal::DSCode::CacheableFloat>;
103 return CacheableFloat::create(value);
107 return CacheableFloat::create(value);
115 internal::CacheableKeyPrimitive<int16_t, internal::DSCode::CacheableInt16>;
116 extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
117 internal::CacheableKeyPrimitive<int16_t, internal::DSCode::CacheableInt16>;
120 return CacheableInt16::create(value);
124 return CacheableInt16::create(value);
132 internal::CacheableKeyPrimitive<int32_t, internal::DSCode::CacheableInt32>;
133 extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
134 internal::CacheableKeyPrimitive<int32_t, internal::DSCode::CacheableInt32>;
137 return CacheableInt32::create(value);
141 return CacheableInt32::create(value);
149 internal::CacheableKeyPrimitive<int64_t, internal::DSCode::CacheableInt64>;
150 extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
151 internal::CacheableKeyPrimitive<int64_t, internal::DSCode::CacheableInt64>;
154 return CacheableInt64::create(value);
158 return CacheableInt64::create(value);
166 internal::CacheableKeyPrimitive<char16_t,
167 internal::DSCode::CacheableCharacter>;
168 extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
169 internal::CacheableKeyPrimitive<char16_t,
170 internal::DSCode::CacheableCharacter>;
173 return CacheableCharacter::create(value);
177 return CacheableCharacter::create(value);
185 internal::CacheableArrayPrimitive<int8_t, internal::DSCode::CacheableBytes>;
186 extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
187 internal::CacheableArrayPrimitive<int8_t, internal::DSCode::CacheableBytes>;
194 internal::CacheableArrayPrimitive<bool, internal::DSCode::BooleanArray>;
195 extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
196 internal::CacheableArrayPrimitive<bool, internal::DSCode::BooleanArray>;
203 internal::CacheableArrayPrimitive<char16_t, internal::DSCode::CharArray>;
204 extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
205 internal::CacheableArrayPrimitive<char16_t, internal::DSCode::CharArray>;
212 internal::CacheableArrayPrimitive<double,
213 internal::DSCode::CacheableDoubleArray>;
214 extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
215 internal::CacheableArrayPrimitive<double,
216 internal::DSCode::CacheableDoubleArray>;
223 internal::CacheableArrayPrimitive<float,
224 internal::DSCode::CacheableFloatArray>;
225 extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
226 internal::CacheableArrayPrimitive<float,
227 internal::DSCode::CacheableFloatArray>;
234 internal::CacheableArrayPrimitive<int16_t,
235 internal::DSCode::CacheableInt16Array>;
236 extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
237 internal::CacheableArrayPrimitive<int16_t,
238 internal::DSCode::CacheableInt16Array>;
245 internal::CacheableArrayPrimitive<int32_t,
246 internal::DSCode::CacheableInt32Array>;
247 extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
248 internal::CacheableArrayPrimitive<int32_t,
249 internal::DSCode::CacheableInt32Array>;
256 internal::CacheableArrayPrimitive<int64_t,
257 internal::DSCode::CacheableInt64Array>;
258 extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
259 internal::CacheableArrayPrimitive<int64_t,
260 internal::DSCode::CacheableInt64Array>;
267 internal::CacheableArrayPrimitive<std::shared_ptr<CacheableString>,
268 internal::DSCode::CacheableStringArray>;
269 extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
270 internal::CacheableArrayPrimitive<std::shared_ptr<CacheableString>,
271 internal::DSCode::CacheableStringArray>;
281 :
public internal::CacheableContainerPrimitive<
282 std::vector<std::shared_ptr<Cacheable>>,
283 internal::DSCode::CacheableVector, CacheableVector> {
285 using CacheableContainerPrimitive::CacheableContainerPrimitive;
288 template class internal::CacheableContainerPrimitive<
289 std::vector<std::shared_ptr<Cacheable>>, internal::DSCode::CacheableVector,
297 :
public internal::CacheableContainerPrimitive<
298 HashMapOfCacheable, internal::DSCode::CacheableHashMap,
301 using CacheableContainerPrimitive::CacheableContainerPrimitive;
304 template class internal::CacheableContainerPrimitive<
312 :
public internal::CacheableContainerPrimitive<
313 HashSetOfCacheableKey, internal::DSCode::CacheableHashSet,
316 using CacheableContainerPrimitive::CacheableContainerPrimitive;
319 template class internal::CacheableContainerPrimitive<
320 HashSetOfCacheableKey, internal::DSCode::CacheableHashSet,
328 :
public internal::CacheableContainerPrimitive<
329 std::vector<std::shared_ptr<Cacheable>>,
330 internal::DSCode::CacheableArrayList, CacheableArrayList> {
332 using CacheableContainerPrimitive::CacheableContainerPrimitive;
335 template class internal::CacheableContainerPrimitive<
336 std::vector<std::shared_ptr<Cacheable>>,
344 :
public internal::CacheableContainerPrimitive<
345 std::vector<std::shared_ptr<Cacheable>>,
346 internal::DSCode::CacheableLinkedList, CacheableLinkedList> {
348 using CacheableContainerPrimitive::CacheableContainerPrimitive;
351 template class internal::CacheableContainerPrimitive<
352 std::vector<std::shared_ptr<Cacheable>>,
360 :
public internal::CacheableContainerPrimitive<
361 std::vector<std::shared_ptr<Cacheable>>,
362 internal::DSCode::CacheableStack, CacheableStack> {
364 using CacheableContainerPrimitive::CacheableContainerPrimitive;
367 template class internal::CacheableContainerPrimitive<
368 HashMapOfCacheable, internal::DSCode::CacheableStack,
CacheableStack>;
375 :
public internal::CacheableContainerPrimitive<
376 HashMapOfCacheable, internal::DSCode::CacheableHashTable,
377 CacheableHashTable> {
379 using CacheableContainerPrimitive::CacheableContainerPrimitive;
382 template class internal::CacheableContainerPrimitive<
383 HashMapOfCacheable, internal::DSCode::CacheableHashTable,
394 :
public internal::CacheableContainerPrimitive<
395 HashMapOfCacheable, internal::DSCode::CacheableIdentityHashMap,
396 CacheableIdentityHashMap> {
398 using CacheableContainerPrimitive::CacheableContainerPrimitive;
401 template class internal::CacheableContainerPrimitive<
402 HashMapOfCacheable, internal::DSCode::CacheableIdentityHashMap,
413 :
public internal::CacheableContainerPrimitive<
414 HashSetOfCacheableKey, internal::DSCode::CacheableLinkedHashSet,
415 CacheableLinkedHashSet> {
417 using CacheableContainerPrimitive::CacheableContainerPrimitive;
420 template class internal::CacheableContainerPrimitive<
421 HashSetOfCacheableKey, internal::DSCode::CacheableLinkedHashSet,
428 #endif // GEODE_CACHEABLEBUILTINS_H_