@@ -28,65 +28,65 @@ namespace nbl::core
2828#ifndef INTELLISENSE_WORKAROUND
2929namespace impl
3030{
31- struct NBL_API NBL_FORCE_EBO NBL_NO_VTABLE CMultiCache_tag {};
31+ struct NBL_FORCE_EBO NBL_NO_VTABLE CMultiCache_tag {};
3232
3333 template <template <typename ...> class , template <typename ...> class >
34- struct NBL_API is_same_templ : std::false_type {};
34+ struct is_same_templ : std::false_type {};
3535
3636 template <template <typename ...> class T >
37- struct NBL_API is_same_templ<T, T> : std::true_type {};
37+ struct is_same_templ <T, T> : std::true_type {};
3838
3939 template <typename T>
40- struct NBL_API is_string : std::false_type {};
40+ struct is_string : std::false_type {};
4141 template <typename C, typename T, typename A>
42- struct NBL_API is_string<std::basic_string<C, T, A>> : std::true_type {};
42+ struct is_string <std::basic_string<C, T, A>> : std::true_type {};
4343
4444 template <template <typename ...> class T >
45- struct NBL_API is_multi_container : std::false_type {};
45+ struct is_multi_container : std::false_type {};
4646 template <>
47- struct NBL_API is_multi_container<std::multimap> : std::true_type {};
47+ struct is_multi_container <std::multimap> : std::true_type {};
4848 template <>
49- struct NBL_API is_multi_container<std::unordered_multimap> : std::true_type {};
49+ struct is_multi_container <std::unordered_multimap> : std::true_type {};
5050
5151 template <template <typename ...> class >
52- struct NBL_API is_assoc_container : std::false_type {};
52+ struct is_assoc_container : std::false_type {};
5353 template <>
54- struct NBL_API is_assoc_container<std::map> : std::true_type {};
54+ struct is_assoc_container <std::map> : std::true_type {};
5555 template <>
56- struct NBL_API is_assoc_container<std::unordered_map> : std::true_type {};
56+ struct is_assoc_container <std::unordered_map> : std::true_type {};
5757 template <>
58- struct NBL_API is_assoc_container<std::multimap> : std::true_type {};
58+ struct is_assoc_container <std::multimap> : std::true_type {};
5959 template <>
60- struct NBL_API is_assoc_container<std::unordered_multimap> : std::true_type {};
60+ struct is_assoc_container <std::unordered_multimap> : std::true_type {};
6161
6262 template <typename K, typename ...>
63- struct NBL_API NBL_FORCE_EBO NBL_NO_VTABLE PropagKeyTypeTypedef_ { using KeyType = K; };
63+ struct NBL_FORCE_EBO NBL_NO_VTABLE PropagKeyTypeTypedef_ { using KeyType = K; };
6464 template <typename ...K>
65- struct NBL_API NBL_FORCE_EBO NBL_NO_VTABLE PropagKeyTypeTypedef : PropagKeyTypeTypedef_<K...> {};
65+ struct NBL_FORCE_EBO NBL_NO_VTABLE PropagKeyTypeTypedef : PropagKeyTypeTypedef_<K...> {};
6666
6767 template <typename T, typename ...K>
68- struct NBL_API NBL_FORCE_EBO NBL_NO_VTABLE PropagTypedefs : PropagKeyTypeTypedef<K...> { using CachedType = T; };
68+ struct NBL_FORCE_EBO NBL_NO_VTABLE PropagTypedefs : PropagKeyTypeTypedef<K...> { using CachedType = T; };
6969
7070 template <
7171 template <typename ...> class ContainerT_T ,
7272 typename Alloc,
7373 typename T, // value type for container
7474 typename ...K // optionally key type for std::map/std::unordered_map
7575 >
76- struct NBL_API NBL_FORCE_EBO CObjectCacheBase
76+ struct NBL_FORCE_EBO CObjectCacheBase
7777 {
7878 private:
7979 template <bool isAssoc, template <typename ...> class C >
8080 struct help ;
8181
8282 template <template <typename ...> class C >
83- struct NBL_API help<true , C>
83+ struct help <true , C>
8484 {
8585 template <typename KK, typename TT, typename AAlloc>
8686 using container_t = C<KK, TT, std::less<KK>, AAlloc>;
8787 };
8888 template <template <typename ...> class C >
89- struct NBL_API help<false , C>
89+ struct help <false , C>
9090 {
9191 template <typename TT, typename AAlloc>
9292 using container_t = C<TT, AAlloc>;
@@ -239,15 +239,15 @@ namespace impl
239239 };
240240
241241 template <template <typename ...> class ContainerT_T , typename ContainerT, bool ForMultiCache, bool IsAssocContainer = impl::is_assoc_container<ContainerT_T>::value>
242- struct NBL_API CPreInsertionVerifier;
242+ struct CPreInsertionVerifier ;
243243 template <template <typename ...> class ContainerT_T , typename ContainerT, bool IsAssocContainer>
244- struct NBL_API CPreInsertionVerifier<ContainerT_T, ContainerT, true , IsAssocContainer>
244+ struct CPreInsertionVerifier <ContainerT_T, ContainerT, true , IsAssocContainer>
245245 {
246246 template <typename ...Ts>
247247 static bool verify (Ts...) { return true ; }
248248 };
249249 template <template <typename ...> class ContainerT_T , typename ContainerT>
250- struct NBL_API CPreInsertionVerifier<ContainerT_T, ContainerT, false , false >
250+ struct CPreInsertionVerifier <ContainerT_T, ContainerT, false , false >
251251 {
252252 static bool verify (const ContainerT& _container, const typename ContainerT::iterator& _itr, const typename ContainerT::value_type::first_type& _key)
253253 {
@@ -258,7 +258,7 @@ namespace impl
258258 }
259259 };
260260 template <template <typename ...> class ContainerT_T , typename ContainerT>
261- struct NBL_API CPreInsertionVerifier<ContainerT_T, ContainerT, false , true >
261+ struct CPreInsertionVerifier <ContainerT_T, ContainerT, false , true >
262262 {
263263 static bool verify (const std::pair<typename ContainerT::iterator, bool >& _insertionRes)
264264 {
@@ -311,15 +311,15 @@ namespace impl
311311 typename T, // value type for container
312312 typename ...K // optionally key type for std::map/std::unordered_map
313313 >
314- struct NBL_API CMultiObjectCacheBase;
314+ struct CMultiObjectCacheBase ;
315315
316316 template <
317317 template <typename ...> class ContainerT_T ,
318318 typename Alloc,
319319 typename T, // value type for container
320320 typename ...K // optionally key type for std::map/std::unordered_map
321321 >
322- struct NBL_API NBL_FORCE_EBO CMultiObjectCacheBase<true , ContainerT_T, Alloc, T, K...> : public CObjectCacheBase<ContainerT_T, Alloc, T, K...>, public CMultiCache_tag
322+ struct NBL_FORCE_EBO CMultiObjectCacheBase<true , ContainerT_T, Alloc, T, K...> : public CObjectCacheBase<ContainerT_T, Alloc, T, K...>, public CMultiCache_tag
323323 {
324324 private:
325325 using Base = CObjectCacheBase<ContainerT_T, Alloc, T, K...>;
@@ -351,7 +351,7 @@ namespace impl
351351 typename T, // value type for container
352352 typename ...K // optionally key type for std::map/std::unordered_map
353353 >
354- struct NBL_API NBL_FORCE_EBO CMultiObjectCacheBase<false , ContainerT_T, Alloc, T, K...> : public CObjectCacheBase<ContainerT_T, Alloc, T, K...>, public CMultiCache_tag
354+ struct NBL_FORCE_EBO CMultiObjectCacheBase<false , ContainerT_T, Alloc, T, K...> : public CObjectCacheBase<ContainerT_T, Alloc, T, K...>, public CMultiCache_tag
355355 {
356356 private:
357357 using Base = CObjectCacheBase<ContainerT_T, Alloc, T, K...>;
@@ -400,7 +400,7 @@ namespace impl
400400 typename T, // value type for container
401401 typename ...K // optionally key type for std::map/std::unordered_map
402402 >
403- struct NBL_API NBL_FORCE_EBO CMultiObjectCacheBaseExt : public CMultiObjectCacheBase<!IsVectorContainer, ContainerT_T, Alloc, T, K...>
403+ struct NBL_FORCE_EBO CMultiObjectCacheBaseExt : public CMultiObjectCacheBase<!IsVectorContainer, ContainerT_T, Alloc, T, K...>
404404 {
405405 private:
406406 using Base = CMultiObjectCacheBase<!IsVectorContainer, ContainerT_T, Alloc, T, K...>;
@@ -478,7 +478,7 @@ namespace impl
478478 typename T, // value type for container
479479 typename ...K // optionally key type for std::map/std::unordered_map
480480 >
481- struct NBL_API NBL_FORCE_EBO CUniqObjectCacheBase<true , ContainerT_T, Alloc, T, K...> : public CObjectCacheBase<ContainerT_T, Alloc, T, K...>
481+ struct NBL_FORCE_EBO CUniqObjectCacheBase<true , ContainerT_T, Alloc, T, K...> : public CObjectCacheBase<ContainerT_T, Alloc, T, K...>
482482 {
483483 private:
484484 using Base = CObjectCacheBase<ContainerT_T, Alloc, T, K...>;
@@ -513,7 +513,7 @@ namespace impl
513513 typename T, // value type for container
514514 typename ...K // optionally key type for std::map/std::unordered_map
515515 >
516- struct NBL_API NBL_FORCE_EBO CUniqObjectCacheBase<false , ContainerT_T, Alloc, T, K...> : public CObjectCacheBase<ContainerT_T, Alloc, T, K...>
516+ struct NBL_FORCE_EBO CUniqObjectCacheBase<false , ContainerT_T, Alloc, T, K...> : public CObjectCacheBase<ContainerT_T, Alloc, T, K...>
517517 {
518518 private:
519519 using Base = CObjectCacheBase<ContainerT_T, Alloc, T, K...>;
@@ -549,7 +549,7 @@ namespace impl
549549 typename T, // value type for container
550550 typename ...K // optionally key type for std::map/std::unordered_map
551551 >
552- struct NBL_API CUniqObjectCacheBaseExt : public CUniqObjectCacheBase<isVectorContainer, ContainerT_T, Alloc, T, K...>
552+ struct CUniqObjectCacheBaseExt : public CUniqObjectCacheBase <isVectorContainer, ContainerT_T, Alloc, T, K...>
553553 {
554554 private:
555555 using Base = CUniqObjectCacheBase<isVectorContainer, ContainerT_T, Alloc, T, K...>;
@@ -603,7 +603,7 @@ namespace impl
603603 typename T, // value type for container
604604 typename ...K // optionally key type for std::map/std::unordered_map
605605 >
606- struct NBL_API NBL_FORCE_EBO CDirectCacheBase :
606+ struct NBL_FORCE_EBO CDirectCacheBase :
607607 public std::conditional<forMultiCache, CMultiObjectCacheBaseExt<isVectorContainer, ContainerT_T, Alloc, T, K...>, CUniqObjectCacheBaseExt<isVectorContainer, ContainerT_T, Alloc, T, K...>>::type
608608 {
609609 private:
@@ -687,10 +687,10 @@ namespace impl
687687namespace impl
688688{
689689 template <template <typename ...> class Container , typename K, typename V>
690- struct NBL_API key_val_pair_type_for { using type = std::pair<const K, V>; };
690+ struct key_val_pair_type_for { using type = std::pair<const K, V>; };
691691
692692 template <typename K, typename V>
693- struct NBL_API key_val_pair_type_for<std::vector, K, V> { using type = std::pair<K, V>; };
693+ struct key_val_pair_type_for <std::vector, K, V> { using type = std::pair<K, V>; };
694694}
695695template <
696696 typename K,
@@ -707,7 +707,7 @@ template<
707707 template <typename ...> class ContainerT_T ,
708708 typename Alloc
709709>
710- class NBL_API NBL_FORCE_EBO CMultiObjectCache<K, T, ContainerT_T, Alloc, true > :
710+ class NBL_FORCE_EBO CMultiObjectCache<K, T, ContainerT_T, Alloc, true > :
711711 public impl::CDirectMultiCacheBase<true , ContainerT_T, Alloc, std::pair<K, T>>,
712712 public impl::PropagTypedefs<T, K>
713713{
@@ -723,7 +723,7 @@ template<
723723 template <typename ...> class ContainerT_T ,
724724 typename Alloc
725725>
726- class NBL_API NBL_FORCE_EBO CMultiObjectCache<K, T, ContainerT_T, Alloc, false > :
726+ class NBL_FORCE_EBO CMultiObjectCache<K, T, ContainerT_T, Alloc, false > :
727727 public impl::CDirectMultiCacheBase<false , ContainerT_T, Alloc, T, const K>,
728728 public impl::PropagTypedefs<T, const K>
729729{
@@ -751,7 +751,7 @@ template<
751751 template <typename ...> class ContainerT_T ,
752752 typename Alloc
753753>
754- class NBL_API NBL_FORCE_EBO CObjectCache<K, T, ContainerT_T, Alloc, true > :
754+ class NBL_FORCE_EBO CObjectCache<K, T, ContainerT_T, Alloc, true > :
755755 public impl::CDirectUniqCacheBase<true , ContainerT_T, Alloc, std::pair<K, T>>,
756756 public impl::PropagTypedefs<T, K>
757757{
@@ -768,7 +768,7 @@ template<
768768 template <typename ...> class ContainerT_T ,
769769 typename Alloc
770770>
771- class NBL_API NBL_FORCE_EBO CObjectCache<K, T, ContainerT_T, Alloc, false > :
771+ class NBL_FORCE_EBO CObjectCache<K, T, ContainerT_T, Alloc, false > :
772772 public impl::CDirectUniqCacheBase<false , ContainerT_T, Alloc, T, const K>,
773773 public impl::PropagTypedefs<T, const K>
774774{
@@ -784,7 +784,7 @@ class NBL_API NBL_FORCE_EBO CObjectCache<K, T, ContainerT_T, Alloc, false> :
784784// BELOW SHALL NOT BE COMPILED! it's because Visual Studio's Intellisense crashes with the code above and doesn't even highlight syntax in any file which includes this
785785
786786template <typename K, typename T, template <typename ...> class C = std::vector, typename A = core::allocator<std::pair<const K, T*>>>
787- class NBL_API CObjectCache
787+ class CObjectCache
788788{
789789public:
790790 CObjectCache () = default ;
@@ -806,7 +806,7 @@ class NBL_API CObjectCache
806806 size_t getSize () const ;
807807};
808808template <typename K, typename T, template <typename ...> class C = std::vector, typename A = core::allocator<std::pair<const K, T*>>>
809- class NBL_API CMultiObjectCache
809+ class CMultiObjectCache
810810{
811811public:
812812 CMultiObjectCache () = default ;
0 commit comments