Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/rust/arraydeque/src/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 1 kB image not shown  

Quelle  behavior.rs

  Sprache: Rust
 

Untersuchungsergebnis.rs Download desUnknown {[0] [0] [0]}

//! Behavior semantics for `ArrayDeque`.
//!
//! `ArrayDeque` provides two different behaviors, `Saturating` and `Wrapping`,
//! determining whether to remove existing element automatically when pushing
//! to a full deque.
//!
//! The behavior is indicated by a marker type parameter of `ArrayDeque`,
//! which defaults to `Saturating`.
//!
//! ## Saturating
//!
//! Pushing any element when `ArrayDeque` is full will directly return an `Err(CapacityError)`
//! containing the element attempting to push, leaving the `ArrayDeque` unchanged.
//!
//! ```
//! use arraydeque::{ArrayDeque, Saturating, CapacityError};
//!
//! let mut tester: ArrayDeque<_, 2, Saturating> = ArrayDeque::new();
//!
//! assert_eq!(tester.push_back(1), Ok(()));
//! assert_eq!(tester.push_back(2), Ok(()));
//! assert_eq!(tester.push_back(3), Err(CapacityError { element: 3 }));
//! ```
//!
//! ## Wrapping
//!
//! Pushing any element when `ArrayDeque` is full will pop an element at
//! the other side to spare room.
//!
//! ```
//! use arraydeque::{ArrayDeque, Wrapping};
//!
//! let mut tester: ArrayDeque<_, 2, Wrapping> = ArrayDeque::new();
//!
//! assert_eq!(tester.push_back(1), None);
//! assert_eq!(tester.push_back(2), None);
//! assert_eq!(tester.push_back(3), Some(1));
//! ```

/// Marker trait for indicating behaviors of `ArrayDeque`.
pub trait Behavior {}

/// Behavior for `ArrayDeque` that specifies saturating write semantics.
pub struct Saturating;

impl Behavior for Saturating {}

/// Behavior for `ArrayDeque` that specifies wrapping write semantics.
pub struct Wrapping;

impl Behavior for Wrapping {}

¤ Dauer der Verarbeitung: 0.19 Sekunden  (vorverarbeitet am  2026-08-25) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.