検索

phrase: max: clip:
target: order:
Results of 1 - 9 of about 9 for heap (0.020 sec.)
例外安全性 13085
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... ループの後に len を設定することが出来ます。 BinaryHeap::sift_up ヒープにおけるアップヒープは Vec を伸ばす ... っと複雑です。擬似コードはこんな感じです。 bubble_up(heap, index): while index != 0 && heap[index] < heap[pa ... rent(index)]: heap.swap(index, parent(index)) index = parent(index) こ ... むしろ、以下のコードの方が 良いでしょう。 bubble_up(heap, index): let elem = heap[index] while index != 0 & ...
https://man.plustar.jp/rust/nomicon/exception-safety.html - [similar]
デストラクタ 10515
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... ような Drop を書くかもしれません。 #![feature(alloc, heap_api, unique)] extern crate alloc; use std::ptr::{d ... rop_in_place, Unique}; use std::mem; use alloc::heap; struct Box<T>{ ptr: Unique<T> } impl<T> Drop for ... op(&mut self) { unsafe { drop_in_place(*self.ptr); heap::deallocate((*self.ptr) as *mut u8, mem::size_of:: ... し、このコードは動かないでしょう。 #![feature(alloc, heap_api, unique)] extern crate alloc; use std::ptr::{d ...
https://man.plustar.jp/rust/nomicon/destructors.html - [similar]
アロケーティング 9598
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... 込んでいます。 標準ライブラリでは実際にこれを alloc::heap::EMPTY として公開しています。 null を使ってしまうと ... うけれども、実際の アロケーションが存在しないために heap::EMPTY を使用したい箇所がかなり 多く存在します。 そ ... れでも全ての heap の API は、 heap_api フィーチャの下で、 全くアンス ... テーブルです。自ら heap::EMPTY を定義してしまうことも 出来るでしょうが、結 ...
https://man.plustar.jp/rust/nomicon/vec-alloc.html - [similar]
Final Code 8933
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... e Final Code #![feature(unique)] #![feature(alloc, heap_api)] extern crate alloc; use std::ptr::{Unique, s ... erefMut}; use std::marker::PhantomData; use alloc::heap; struct RawVec<T> { ptr: Unique<T>, cap: usize, } ... if mem::size_of::<T>() == 0 { !0 } else { 0 }; // heap::EMPTY doubles as "unallocated" and "zero-sized al ... location" RawVec { ptr: Unique::new(heap::EMPTY as *mut T), cap: cap } } } fn grow(&mut sel ...
https://man.plustar.jp/rust/nomicon/vec-final.html - [similar]
サイズが 0 の型を扱う 8556
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... ションとして保存すればいいのでしょうか? そうさ,勿論 heap::EMPTY さ! ZST に対する操作は、 ZSTがちょうど 1 つ ... if mem::size_of::<T>() == 0 { !0 } else { 0 }; // heap::EMPTY は "アロケートされていない" と "サイズが 0 ... 味を兼ねることになります。 RawVec { ptr: Unique::new(heap::EMPTY as *mut T), cap: cap } } } fn grow(&mut sel ... let (new_cap, ptr) = if self.cap == 0 { let ptr = heap::allocate(elem_size, align); (1, ptr) } else { let ...
https://man.plustar.jp/rust/nomicon/vec-zsts.html - [similar]
RawVec 8214
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... ZST support"); unsafe { RawVec { ptr: Unique::new(heap::EMPTY as *mut T), cap: 0 } } } // Vec の時と変更あ ... let (new_cap, ptr) = if self.cap == 0 { let ptr = heap::allocate(elem_size, align); (1, ptr) } else { let ... new_cap = 2 * self.cap; let ptr = heap::reallocate(*self.ptr as *mut _, self.cap * elem_s ... (); let num_bytes = elem_size * self.cap; unsafe { heap::deallocate(*self.ptr as *mut _, num_bytes, align) ...
https://man.plustar.jp/rust/nomicon/vec-raw.html - [similar]
デアロケーティング 7621
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... が取り除かれています) 。 self.cap == 0 である場合、 heap::deallocate を呼んではいけません。 この時、実際には ... (); let num_bytes = elem_size * self.cap; unsafe { heap::deallocate(*self.ptr as *mut _, num_bytes, align) ...
https://man.plustar.jp/rust/nomicon/vec-dealloc.html - [similar]
リーク 7297
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... Rc<T> { fn new(data: T) -> Self { unsafe { // もし heap::allocate がこのように動作したらよいと思いませんか ... ? let ptr = heap::allocate::<RcBox<T>>(); ptr::write(ptr, RcBox { d ... タをドロップしそして解放します ptr::read(self.ptr); heap::deallocate(self.ptr); } } } } このコードは暗黙で微 ...
https://man.plustar.jp/rust/nomicon/leaking.html - [similar]
IntoIter 6974
はじめに 1. 安全と危険のご紹介 1.1. 安全と危険の相互作用 1.2. Unsafe と連携する 2. データレイアウ ... (); let num_bytes = elem_size * self.cap; unsafe { heap::deallocate(*self.buf as *mut _, num_bytes, align) ...
https://man.plustar.jp/rust/nomicon/vec-into-iter.html - [similar]
PREV 1 NEXT