[−][src]Struct icu::uniset::UnicodeSetBuilder
UnicodeSet
builder wrapper
Provides exposure to builder functions and conversion to UnicodeSet
Implementations
impl UnicodeSetBuilder
[src]
pub const fn new() -> UnicodeSetBuilder
[src]
Returns empty UnicodeSetBuilder
pub fn build(self) -> UnicodeSet
[src]
Returns a UnicodeSet
and consumes the UnicodeSetBuilder
pub fn add_char(&mut self, c: char)
[src]
Add the character to the UnicodeSetBuilder
Example:
use icu_uniset::UnicodeSetBuilder; let mut builder = UnicodeSetBuilder::new(); builder.add_char('a'); let check = builder.build(); assert_eq!(check.iter().next(), Some('a'));
pub fn add_range(&mut self, range: &impl RangeBounds<char>)
[src]
Add the range of characters to the UnicodeSetBuilder
Example:
use icu_uniset::UnicodeSetBuilder; let mut builder = UnicodeSetBuilder::new(); builder.add_range(&('A'..='Z')); let check = builder.build(); assert_eq!(check.iter().next(), Some('A'));
pub fn add_set(&mut self, set: &UnicodeSet)
[src]
Add the UnicodeSet
reference to the UnicodeSetBuilder
Example:
use icu_uniset::{UnicodeSet, UnicodeSetBuilder}; let mut builder = UnicodeSetBuilder::new(); let set = UnicodeSet::from_inversion_list(vec![65, 76]).unwrap(); builder.add_set(&set); let check = builder.build(); assert_eq!(check.iter().next(), Some('A'));
pub fn remove_char(&mut self, c: char)
[src]
Remove the character from the UnicodeSetBuilder
Example:
use icu_uniset::UnicodeSetBuilder; let mut builder = UnicodeSetBuilder::new(); builder.add_range(&('A'..='Z')); builder.remove_char('A'); let check = builder.build(); assert_eq!(check.iter().next(), Some('B'));
pub fn remove_range(&mut self, range: &impl RangeBounds<char>)
[src]
Remove the range of characters from the UnicodeSetBuilder
Example:
use icu_uniset::UnicodeSetBuilder; let mut builder = UnicodeSetBuilder::new(); builder.add_range(&('A'..='Z')); builder.remove_range(&('A'..='C')); let check = builder.build(); assert_eq!(check.iter().next(), Some('D'));
pub fn remove_set(&mut self, set: &UnicodeSet)
[src]
Remove the UnicodeSet
from the UnicodeSetBuilder
Example:
use icu_uniset::{UnicodeSet, UnicodeSetBuilder}; let mut builder = UnicodeSetBuilder::new(); let set = UnicodeSet::from_inversion_list(vec![65, 70]).unwrap(); builder.add_range(&('A'..='Z')); builder.remove_set(&set); // removes 'A'..='E' let check = builder.build(); assert_eq!(check.iter().next(), Some('F'));
pub fn retain_char(&mut self, c: char)
[src]
Retain the specified character in the UnicodeSetBuilder
if it exists
Example:
use icu_uniset::UnicodeSetBuilder; let mut builder = UnicodeSetBuilder::new(); builder.add_range(&('A'..='Z')); builder.retain_char('A'); let set = builder.build(); let mut check = set.iter(); assert_eq!(check.next(), Some('A')); assert_eq!(check.next(), None);
pub fn retain_range(&mut self, range: &impl RangeBounds<char>)
[src]
Retain the range of characters located within the UnicodeSetBuilder
Example:
use icu_uniset::UnicodeSetBuilder; let mut builder = UnicodeSetBuilder::new(); builder.add_range(&('A'..='Z')); builder.retain_range(&('A'..='B')); let set = builder.build(); let mut check = set.iter(); assert_eq!(check.next(), Some('A')); assert_eq!(check.next(), Some('B')); assert_eq!(check.next(), None);
pub fn retain_set(&mut self, set: &UnicodeSet)
[src]
Retain the elements in the specified set within the UnicodeSetBuilder
Example:
use icu_uniset::{UnicodeSetBuilder, UnicodeSet}; let mut builder = UnicodeSetBuilder::new(); let set = UnicodeSet::from_inversion_list(vec![65, 70]).unwrap(); builder.add_range(&('A'..='Z')); builder.retain_set(&set); // retains 'A'..='E' let check = builder.build(); assert!(check.contains('A')); assert!(!check.contains('G'));
pub fn complement(&mut self)
[src]
Computes the complement of the builder, inverting the builder (any elements in the builder are removed, while any elements not in the builder are added)
Example:
use icu_uniset::{UnicodeSetBuilder, UnicodeSet}; let mut builder = UnicodeSetBuilder::new(); let set = UnicodeSet::from_inversion_list(vec![0, 65, 70, (std::char::MAX as u32) + 1]).unwrap(); builder.add_set(&set); builder.complement(); let check = builder.build(); assert_eq!(check.iter().next(), Some('A'));
pub fn complement_char(&mut self, c: char)
[src]
Complements the character in the builder, adding it if not in the builder, and removing it otherwise.
Example:
use icu_uniset::UnicodeSetBuilder; let mut builder = UnicodeSetBuilder::new(); builder.add_range(&('A'..='D')); builder.complement_char('A'); builder.complement_char('E'); let check = builder.build(); assert!(check.contains('E')); assert!(!check.contains('A'));
pub fn complement_range(&mut self, range: &impl RangeBounds<char>)
[src]
Complements the range in the builder, adding any elements in the range if not in the builder, and removing them otherwise.
Example:
use icu_uniset::UnicodeSetBuilder; let mut builder = UnicodeSetBuilder::new(); builder.add_range(&('A'..='D')); builder.complement_range(&('C'..='F')); let check = builder.build(); assert!(check.contains('F')); assert!(!check.contains('C'));
pub fn complement_set(&mut self, set: &UnicodeSet)
[src]
Complements the set in the builder, adding any elements in the set if not in the builder, and removing them otherwise.
Example:
use icu_uniset::{UnicodeSetBuilder, UnicodeSet}; let mut builder = UnicodeSetBuilder::new(); let set = UnicodeSet::from_inversion_list(vec![65, 70, 75, 90]).unwrap(); builder.add_range(&('C'..='N')); // 67 - 78 builder.complement_set(&set); let check = builder.build(); assert!(check.contains('Q')); // 81 assert!(!check.contains('N')); // 78
Trait Implementations
impl Default for UnicodeSetBuilder
[src]
fn default() -> UnicodeSetBuilder
[src]
Auto Trait Implementations
impl RefUnwindSafe for UnicodeSetBuilder
impl Send for UnicodeSetBuilder
impl Sync for UnicodeSetBuilder
impl Unpin for UnicodeSetBuilder
impl UnwindSafe for UnicodeSetBuilder
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Downcast for T where
T: Any,
T: Any,
fn into_any(self: Box<T>) -> Box<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
impl<T> DowncastSync for T where
T: Send + Sync + Any,
T: Send + Sync + Any,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,