/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
deps/v8/src/common/scoped-modification.h
33 строки
814 B
Michaël Zasso
deps: update V8 to 14.1.146.11
04 окт 2025, 19:47
Не верифицирован
04 окт 2025, 19:47
7772a2d
Код
Авторство
О чём код?
// Copyright 2025 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef V8_COMMON_SCOPED_MODIFICATION_H_ #define V8_COMMON_SCOPED_MODIFICATION_H_ #include <utility> namespace v8::internal { // Set `*ptr` to `new_value` while the scope is active, reset to the previous // value upon destruction. template <class T> class ScopedModification { public: ScopedModification(T* ptr, T new_value) : ptr_(ptr), old_value_(std::move(*ptr)) { *ptr = std::move(new_value); } ~ScopedModification() { *ptr_ = std::move(old_value_); } const T& old_value() const { return old_value_; } private: T* ptr_; T old_value_; }; } // namespace v8::internal #endif // V8_COMMON_SCOPED_MODIFICATION_H_