mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-09 20:29:10 +02:00
Move the derived bitsery extension to bitsery::ext
To make it easier to move it over later and to make the implementation slightly less verbose.
This commit is contained in:
+20
-10
@@ -24,27 +24,37 @@
|
|||||||
|
|
||||||
// TODO: Implement
|
// TODO: Implement
|
||||||
|
|
||||||
|
namespace bitsery {
|
||||||
|
namespace ext {
|
||||||
template <template <typename> class TPtrManager,
|
template <template <typename> class TPtrManager,
|
||||||
template <typename>
|
template <typename>
|
||||||
class TPolymorphicContext,
|
class TPolymorphicContext,
|
||||||
typename RTTI>
|
typename RTTI>
|
||||||
class MultiplePointerObjectExtensionBase
|
class MultiplePointerObjectExtensionBase
|
||||||
: public bitsery::ext::pointer_utils::
|
: public pointer_utils::
|
||||||
PointerObjectExtensionBase<TPtrManager, TPolymorphicContext, RTTI> {};
|
PointerObjectExtensionBase<TPtrManager, TPolymorphicContext, RTTI> {
|
||||||
|
// explicit PointerObjectExtensionBase(
|
||||||
|
// PointerType ptrType = PointerType::Nullable,
|
||||||
|
// MemResourceBase* resource = nullptr,
|
||||||
|
// bool resourcePropagate = false)
|
||||||
|
// : _ptrType{ptrType},
|
||||||
|
// _resourcePropagate{resourcePropagate},
|
||||||
|
// _resource{resource} {}
|
||||||
|
};
|
||||||
|
|
||||||
template <typename RTTI>
|
template <typename RTTI>
|
||||||
using MultiplePointerOwnerBase = MultiplePointerObjectExtensionBase<
|
using MultiplePointerOwnerBase =
|
||||||
bitsery::ext::pointer_details::PtrOwnerManager,
|
MultiplePointerObjectExtensionBase<pointer_details::PtrOwnerManager,
|
||||||
bitsery::ext::PolymorphicContext,
|
PolymorphicContext,
|
||||||
RTTI>;
|
RTTI>;
|
||||||
|
|
||||||
using MultiplePointerOwner =
|
using MultiplePointerOwner = MultiplePointerOwnerBase<StandardRTTI>;
|
||||||
MultiplePointerOwnerBase<bitsery::ext::StandardRTTI>;
|
|
||||||
|
} // namespace ext
|
||||||
|
|
||||||
namespace bitsery {
|
|
||||||
namespace traits {
|
namespace traits {
|
||||||
template <typename T, typename RTTI>
|
template <typename T, typename RTTI>
|
||||||
struct ExtensionTraits<::MultiplePointerOwnerBase<RTTI>, T*> {
|
struct ExtensionTraits<ext::MultiplePointerOwnerBase<RTTI>, T*> {
|
||||||
using TValue = T;
|
using TValue = T;
|
||||||
static constexpr bool SupportValueOverload = true;
|
static constexpr bool SupportValueOverload = true;
|
||||||
static constexpr bool SupportObjectOverload = true;
|
static constexpr bool SupportObjectOverload = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user