Code Explainers

Code explainers tagged #raii

rust
use std::fs::{File, OpenOptions};
use std::io::{self, Write};
use std::path::Path;
 

A buffered log writer in Rust

buffering raii file-io
Intermediate 9 steps
rust
pub struct ScopeGuard<F: FnMut()> {
    rollback: F,
    active: bool,
}

A RAII rollback guard in Rust

raii error-handling closures
Advanced 8 steps
rust
use std::sync::{Arc, Mutex, MutexGuard};
use std::time::Instant;
 
pub struct TimedGuard<'a, T> {

A self-timing mutex guard in Rust

raii mutex deref
Advanced 7 steps
rust
use std::time::Instant;
use tracing::info;
 
pub struct Timer {

A scope-guard timer with Drop in Rust

raii drop-guard timing
Intermediate 7 steps