MCPcopy Create free account
hub / github.com/cel-expr/cel-cpp / PreRelease

Function PreRelease

common/memory.h:633–644  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

631 }
632
633 void PreRelease() noexcept {
634 if constexpr (!std::is_trivially_destructible_v<T> &&
635 !google::protobuf::Arena::is_destructor_skippable<T>::value) {
636 if (static_cast<bool>(*this) &&
637 (arena_ & common_internal::kUniqueArenaBits) ==
638 common_internal::kUniqueArenaUnownedBit) {
639 // We never registered the destructor, call it if necessary.
640 arena()->OwnDestructor(const_cast<std::remove_const_t<T>*>(ptr_));
641 arena_ &= common_internal::kUniqueArenaPointerMask;
642 }
643 }
644 }
645
646 void Release(T** ptr, Owner* owner) noexcept {
647 if (ptr_ == nullptr) {

Callers 2

releaseFunction · 0.85
ReleaseFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected