%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
#ifndef SRC_ALIASED_STRUCT_INL_H_ #define SRC_ALIASED_STRUCT_INL_H_ #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS #include "aliased_struct.h" #include "v8.h" #include <memory> namespace node { template <typename T> template <typename... Args> AliasedStruct<T>::AliasedStruct(v8::Isolate* isolate, Args&&... args) : isolate_(isolate) { const v8::HandleScope handle_scope(isolate); store_ = v8::ArrayBuffer::NewBackingStore(isolate, sizeof(T)); ptr_ = new (store_->Data()) T(std::forward<Args>(args)...); DCHECK_NOT_NULL(ptr_); v8::Local<v8::ArrayBuffer> buffer = v8::ArrayBuffer::New(isolate, store_); buffer_ = v8::Global<v8::ArrayBuffer>(isolate, buffer); } template <typename T> AliasedStruct<T>::AliasedStruct(const AliasedStruct& that) : AliasedStruct(that.isolate_, *that) {} template <typename T> AliasedStruct<T>& AliasedStruct<T>::operator=( AliasedStruct<T>&& that) noexcept { this->~AliasedStruct(); isolate_ = that.isolate_; store_ = that.store_; ptr_ = that.ptr_; buffer_ = std::move(that.buffer_); that.ptr_ = nullptr; that.store_.reset(); return *this; } template <typename T> AliasedStruct<T>::~AliasedStruct() { if (ptr_ != nullptr) ptr_->~T(); } } // namespace node #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS #endif // SRC_ALIASED_STRUCT_INL_H_