mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-12 15:09:59 +01:00
Support serialization as another type without casting
This adds a READWRITEAS(type, obj) macro which serializes obj as if it were casted to (const type&) when const, and to (type&) when non-const. This makes it usable in serialization code that uses a single implementation for both serialization and deserializing, which doesn't know the constness of the object involved.
This commit is contained in:
@@ -349,7 +349,7 @@ public:
|
||||
uint64_t nServicesInt = nServices;
|
||||
READWRITE(nServicesInt);
|
||||
nServices = static_cast<ServiceFlags>(nServicesInt);
|
||||
READWRITE(*static_cast<CService*>(this));
|
||||
READWRITEAS(CService, *this);
|
||||
}
|
||||
|
||||
// TODO: make private (improves encapsulation)
|
||||
|
||||
Reference in New Issue
Block a user