14 template <
typename THIS_CONTAINER,
typename BASE_CONTAINER,
bool USING_IREP>
15 inline void SkipListBasedContainer<THIS_CONTAINER, BASE_CONTAINER, USING_IREP>::ReBalance ()
17 if constexpr (USING_IREP) {
18 using _SafeReadWriteRepAccessor =
typename THIS_CONTAINER::template _SafeReadWriteRepAccessor<typename THIS_CONTAINER::IImplRepBase_>;
19 _SafeReadWriteRepAccessor{
this}._GetWriteableRep ().ReBalance ();
22 using _SafeReadWriteRepAccessor =
typename THIS_CONTAINER::template _SafeReadWriteRepAccessor<typename THIS_CONTAINER::Rep_>;
23 return _SafeReadWriteRepAccessor{
this}._GetWriteableRep ().fData_.ReBalance ();
32 template <
typename THIS_CONTAINER_REP,
typename BASE_CONTAINER_REP>
33 void SkipListBasedContainerRepImpl<THIS_CONTAINER_REP, BASE_CONTAINER_REP>::ReBalance ()
36 Debug::UncheckedDynamicCast<THIS_CONTAINER_REP*> (
this)->fData_.ReBalance ();
37 Debug::UncheckedDynamicCast<THIS_CONTAINER_REP*> (
this)->fChangeCounts_.PerformedChange ();
unique_lock< AssertExternallySynchronizedMutex > WriteContext
Instantiate AssertExternallySynchronizedMutex::WriteContext to designate an area of code where protec...