#slice #stl #ord #performance #algorithm

bound-stl

Bound-STL attempts to implement lower_bound and upper_bound in C++ STL

1 unstable release

0.1.2 Feb 28, 2023
0.1.1 Feb 25, 2023
0.1.0 Feb 25, 2023

#2402 in Algorithms

GPL-3.0-or-later

15KB
342 lines

Bound-STL

Bound-STL attempts to implement Rust copy of lower_bound and upper_bound manners in C++ STL.

This implementation is adding two traits LowerBound and UpperBound to the follow structures:

  • [..]
  • Vec
  • VecDeque
  • BinaryHeap
  • BTreeset
  • BTreeMap

This repo hosts at bound-stl

Version Documentation License

Usage

use bound_stl::LowerBound;

let v = vec![1, 2, 3, 4, 5];
assert_eq!(v.lower_bound(&3), Ok(2));
assert_eq!(v.lower_bound(&6), Err(5));


use bound_stl::UpperBound;

let v = vec![1, 2, 3, 4, 5];
assert_eq!(v.upper_bound(&3), Ok(3));
assert_eq!(v.upper_bound(&6), Err(5));

No runtime deps