20#ifndef GEODE_CACHEABLEBUILTINS_H_
21#define GEODE_CACHEABLEBUILTINS_H_
31#include "CacheableString.hpp"
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>;
47extern 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>;
64extern 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>;
81extern 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>;
99extern 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>;
116extern 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>;
133extern 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>;
150extern 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>;
168extern 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>;
186extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
187 internal::CacheableArrayPrimitive<int8_t, internal::DSCode::CacheableBytes>;
194 internal::CacheableArrayPrimitive<bool, internal::DSCode::BooleanArray>;
195extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
196 internal::CacheableArrayPrimitive<bool, internal::DSCode::BooleanArray>;
203 internal::CacheableArrayPrimitive<char16_t, internal::DSCode::CharArray>;
204extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
205 internal::CacheableArrayPrimitive<char16_t, internal::DSCode::CharArray>;
212 internal::CacheableArrayPrimitive<double,
213 internal::DSCode::CacheableDoubleArray>;
214extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
215 internal::CacheableArrayPrimitive<double,
216 internal::DSCode::CacheableDoubleArray>;
223 internal::CacheableArrayPrimitive<float,
224 internal::DSCode::CacheableFloatArray>;
225extern template class APACHE_GEODE_EXTERN_TEMPLATE_EXPORT
226 internal::CacheableArrayPrimitive<float,
227 internal::DSCode::CacheableFloatArray>;
234 internal::CacheableArrayPrimitive<int16_t,
235 internal::DSCode::CacheableInt16Array>;
236extern 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>;
247extern 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>;
258extern 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>;
269extern 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;
288template 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;
304template class internal::CacheableContainerPrimitive<
312 :
public internal::CacheableContainerPrimitive<
313 HashSetOfCacheableKey, internal::DSCode::CacheableHashSet,
316 using CacheableContainerPrimitive::CacheableContainerPrimitive;
319template 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;
335template 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;
351template 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;
367template class internal::CacheableContainerPrimitive<
368 HashMapOfCacheable, internal::DSCode::CacheableStack,
CacheableStack>;
375 :
public internal::CacheableContainerPrimitive<
376 HashMapOfCacheable, internal::DSCode::CacheableHashTable,
377 CacheableHashTable> {
379 using CacheableContainerPrimitive::CacheableContainerPrimitive;
382template class internal::CacheableContainerPrimitive<
383 HashMapOfCacheable, internal::DSCode::CacheableHashTable,
394 :
public internal::CacheableContainerPrimitive<
395 HashMapOfCacheable, internal::DSCode::CacheableIdentityHashMap,
396 CacheableIdentityHashMap> {
398 using CacheableContainerPrimitive::CacheableContainerPrimitive;
401template class internal::CacheableContainerPrimitive<
402 HashMapOfCacheable, internal::DSCode::CacheableIdentityHashMap,
413 :
public internal::CacheableContainerPrimitive<
414 HashSetOfCacheableKey, internal::DSCode::CacheableLinkedHashSet,
415 CacheableLinkedHashSet> {
417 using CacheableContainerPrimitive::CacheableContainerPrimitive;
420template class internal::CacheableContainerPrimitive<
421 HashSetOfCacheableKey, internal::DSCode::CacheableLinkedHashSet,
internal::CacheableArrayPrimitive< int32_t, internal::DSCode::CacheableInt32Array > CacheableInt32Array
An immutable wrapper for array of 32-bit integers that can serve as a distributable object for cachin...
internal::CacheableArrayPrimitive< int16_t, internal::DSCode::CacheableInt16Array > CacheableInt16Array
An immutable wrapper for array of 16-bit integers that can serve as a distributable object for cachin...
internal::CacheableArrayPrimitive< int8_t, internal::DSCode::CacheableBytes > CacheableBytes
An immutable wrapper for byte arrays that can serve as a distributable object for caching.
Definition: CacheableBuiltins.hpp:185
internal::CacheableKeyPrimitive< int8_t, internal::DSCode::CacheableByte > CacheableByte
An immutable wrapper for byte that can serve as a distributable key object for caching.
Definition: CacheableBuiltins.hpp:63
internal::CacheableArrayPrimitive< float, internal::DSCode::CacheableFloatArray > CacheableFloatArray
An immutable wrapper for array of floats that can serve as a distributable object for caching.
internal::CacheableKeyPrimitive< int16_t, internal::DSCode::CacheableInt16 > CacheableInt16
An immutable wrapper for 16-bit integers that can serve as a distributable key object for caching.
Definition: CacheableBuiltins.hpp:115
internal::CacheableKeyPrimitive< int64_t, internal::DSCode::CacheableInt64 > CacheableInt64
An immutable wrapper for 64-bit integers that can serve as a distributable key object for caching.
Definition: CacheableBuiltins.hpp:149
internal::CacheableKeyPrimitive< int32_t, internal::DSCode::CacheableInt32 > CacheableInt32
An immutable wrapper for 32-bit integers that can serve as a distributable key object for caching.
Definition: CacheableBuiltins.hpp:132
internal::CacheableArrayPrimitive< int64_t, internal::DSCode::CacheableInt64Array > CacheableInt64Array
An immutable wrapper for array of 64-bit integers that can serve as a distributable object for cachin...
internal::CacheableKeyPrimitive< char16_t, internal::DSCode::CacheableCharacter > CacheableCharacter
An immutable wrapper for 16-bit characters that can serve as a distributable key object for caching.
Definition: CacheableBuiltins.hpp:167
internal::CacheableArrayPrimitive< double, internal::DSCode::CacheableDoubleArray > CacheableDoubleArray
An immutable wrapper for array of doubles that can serve as a distributable object for caching.
internal::CacheableArrayPrimitive< std::shared_ptr< CacheableString >, internal::DSCode::CacheableStringArray > CacheableStringArray
An immutable wrapper for array of strings that can serve as a distributable object for caching.
internal::CacheableKeyPrimitive< bool, internal::DSCode::CacheableBoolean > CacheableBoolean
An immutable wrapper for bool that can serve as a distributable key object for caching.
Definition: CacheableBuiltins.hpp:46
internal::CacheableKeyPrimitive< float, internal::DSCode::CacheableFloat > CacheableFloat
An immutable wrapper for floats that can serve as.
Definition: CacheableBuiltins.hpp:98
internal::CacheableArrayPrimitive< char16_t, internal::DSCode::CharArray > CharArray
An immutable wrapper for array of wide-characters that can serve as a distributable object for cachin...
internal::CacheableArrayPrimitive< bool, internal::DSCode::BooleanArray > BooleanArray
An immutable wrapper for array of booleans that can serve as a distributable object for caching.
internal::CacheableKeyPrimitive< double, internal::DSCode::CacheableDouble > CacheableDouble
An immutable wrapper for doubles that can serve as a distributable key object for caching.
Definition: CacheableBuiltins.hpp:80
A mutable Cacheable vector wrapper that can serve as a distributable object for caching.
Definition: CacheableBuiltins.hpp:283
A mutable CacheableKey to Serializable hash map that can serve as a distributable object for caching.
Definition: CacheableBuiltins.hpp:299
A mutable CacheableKey hash set wrapper that can serve as a distributable object for caching.
Definition: CacheableBuiltins.hpp:314
A mutable Cacheable array list wrapper that can serve as a distributable object for caching.
Definition: CacheableBuiltins.hpp:330
A mutable Cacheable array list wrapper that can serve as a distributable object for caching.
Definition: CacheableBuiltins.hpp:346
A mutable Cacheable stack wrapper that can serve as a distributable object for caching.
Definition: CacheableBuiltins.hpp:362
A mutable CacheableKey to Serializable hash map that can serve as a distributable object for caching.
Definition: CacheableBuiltins.hpp:377
A mutable CacheableKey to Serializable hash map that can serve as a distributable object for caching.
Definition: CacheableBuiltins.hpp:396
A mutable CacheableKey hash set wrapper that can serve as a distributable object for caching.
Definition: CacheableBuiltins.hpp:415
static std::shared_ptr< CacheableKey > create(_T value)
Factory method that creates the key type that matches the type of value.
static std::shared_ptr< Serializable > create(_T value)
Factory method that creates the Serializable object that matches the type of value.