Skip to content

Commit

Permalink
feat: support intrusive_adapter! access nested field (#4)
Browse files Browse the repository at this point in the history
Signed-off-by: MrCroxx <[email protected]>
  • Loading branch information
MrCroxx authored Dec 2, 2024
1 parent 94cfac4 commit 94475bc
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 6 deletions.
8 changes: 4 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[package]
name = "intrusive-collections"
version = "0.9.7"
name = "foyer-intrusive-collections"
version = "0.10.0-dev"
authors = ["Amanieu d'Antras <[email protected]>"]
description = "Intrusive collections for Rust (linked list and red-black tree)"
documentation = "https://docs.rs/intrusive-collections"
documentation = "https://docs.rs/foyer-intrusive-collections"
license = "Apache-2.0/MIT"
repository = "https://github.com/Amanieu/intrusive-rs"
repository = "https://github.com/foyer-rs/intrusive-rs"
readme = "README.md"
keywords = ["intrusive", "no_std", "list", "rbtree"]
categories = ["data-structures", "no-std"]
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
intrusive-collections
=====================

*forked from [Amanieu/intrusive-rs](https://github.com/Amanieu/intrusive-rs)*

[![Build Status](https://travis-ci.org/Amanieu/intrusive-rs.svg?branch=master)](https://travis-ci.org/Amanieu/intrusive-rs) [![Coverage Status](https://coveralls.io/repos/github/Amanieu/intrusive-rs/badge.svg?branch=master)](https://coveralls.io/github/Amanieu/intrusive-rs?branch=master) [![Crates.io](https://img.shields.io/crates/v/intrusive-collections.svg)](https://crates.io/crates/intrusive-collections)

A Rust library for creating intrusive collections. Currently supports singly-linked and doubly-linked lists, as well as red-black trees.
Expand All @@ -21,7 +23,7 @@ Add this to your `Cargo.toml`:

```toml
[dependencies]
intrusive-collections = "0.9"
intrusive-collections = { package = "foyer-intrusive-collections", version = "0.10.0-dev" }
```

This crate has two Cargo features:
Expand Down
2 changes: 2 additions & 0 deletions src/adapter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ pub unsafe trait Adapter {
/// # Examples
///
/// ```
/// # use foyer_intrusive_collections as intrusive_collections;
/// use intrusive_collections::container_of;
///
/// struct S { x: u32, y: u32 };
Expand Down Expand Up @@ -143,6 +144,7 @@ macro_rules! container_of {
/// # Examples
///
/// ```
/// # use foyer_intrusive_collections as intrusive_collections;
/// use intrusive_collections::{LinkedListLink, RBTreeLink};
/// use intrusive_collections::intrusive_adapter;
///
Expand Down
1 change: 1 addition & 0 deletions src/key_adapter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ use crate::pointer_ops::PointerOps;
/// # Examples
///
/// ```
/// # use foyer_intrusive_collections as intrusive_collections;
/// use intrusive_collections::intrusive_adapter;
/// use intrusive_collections::{RBTreeLink, KeyAdapter};
///
Expand Down
4 changes: 4 additions & 0 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
//! # Example
//!
//! ```
//! # use foyer_intrusive_collections as intrusive_collections;
//! use intrusive_collections::intrusive_adapter;
//! use intrusive_collections::{LinkedList, LinkedListLink};
//! use std::cell::Cell;
Expand Down Expand Up @@ -89,6 +90,7 @@
//! keep all elements in the tree in ascending order.
//!
//! ```
//! # use foyer_intrusive_collections as intrusive_collections;
//! use intrusive_collections::intrusive_adapter;
//! use intrusive_collections::{SinglyLinkedListLink, SinglyLinkedList};
//! use intrusive_collections::{LinkedListLink, LinkedList};
Expand Down Expand Up @@ -150,6 +152,7 @@
//! function which removes all values within a given range from a `RBTree`:
//!
//! ```
//! # use foyer_intrusive_collections as intrusive_collections;
//! use intrusive_collections::intrusive_adapter;
//! use intrusive_collections::{RBTreeLink, RBTree, KeyAdapter, Bound};
//!
Expand Down Expand Up @@ -186,6 +189,7 @@
//! intrusive collection will outlive the collection itself.
//!
//! ```
//! # use foyer_intrusive_collections as intrusive_collections;
//! use intrusive_collections::intrusive_adapter;
//! use intrusive_collections::{LinkedListLink, LinkedList};
//! use typed_arena::Arena;
Expand Down
2 changes: 1 addition & 1 deletion src/rbtree.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2043,7 +2043,7 @@ where
/// Panics if the new element is already linked to a different intrusive
/// collection.
#[inline]
pub fn insert<'a>(&'a mut self, val: <A::PointerOps as PointerOps>::Pointer) -> CursorMut<'_, A>
pub fn insert<'a>(&'a mut self, val: <A::PointerOps as PointerOps>::Pointer) -> CursorMut<'a, A>
where
<A as KeyAdapter<'a>>::Key: Ord,
{
Expand Down

0 comments on commit 94475bc

Please sign in to comment.