Struct onig::Region

source ·
pub struct Region { /* private fields */ }
Expand description

Represents a set of capture groups found in a search or match.

Implementations§

source§

impl Region

source

pub fn new() -> Region

Create a new empty Region

source

pub fn with_capacity(capacity: usize) -> Region

Create a new region with a given capacity. This function allocates a new region object as in Region::new and resizes it to contain at least capacity regions.

§Arguments
  • capacity - the number of captures this region should be capable of storing without allocation.
source

pub unsafe fn clone_from_raw(ptr: *mut OnigRegion) -> Self

Clone From Raw

Construct a new region based on an existing raw *onig_sys::OnigRegion pointer by copying.

source

pub fn clear(&mut self)

This can be used to clear out a region so it can be used again. See onig_sys::onig_region_clear

source

pub fn capacity(&self) -> usize

Get the current capacity of the region.

source

pub fn reserve(&mut self, new_capacity: usize)

Updates the region to contain new_capacity slots. See onig_sys::onig_region_resize for mor information.

§Arguments
  • new_capacity - The new number of groups in the region.
source

pub fn len(&self) -> usize

Get the size of the region.

Returns the number of registers in the region.

source

pub fn is_empty(&self) -> bool

Check if the region is empty.

Returns true if there are no registers in the region.

source

pub fn pos(&self, pos: usize) -> Option<(usize, usize)>

Returns the start and end positions of the Nth capture group.

Returns None if pos is not a valid capture group or if the capture group did not match anything. The positions returned are always byte indices with respect to the original string matched.

source

pub fn tree(&self) -> Option<&CaptureTreeNode>

Get Capture Tree

Returns the capture tree for this region, if there is one.

source

pub fn iter(&self) -> RegionIter<'_>

Get an iterator over the captures in the region.

source

pub fn tree_traverse<F>(&self, callback: F) -> i32
where F: Fn(u32, (usize, usize), u32) -> bool,

Walk the Tree of Captures

The given callback is invoked for each node in the capture tree. Each node is passed to the callback before any children.

source

pub fn tree_traverse_at<F>(&self, at: TraverseCallbackAt, callback: F) -> i32
where F: Fn(u32, (usize, usize), u32) -> bool,

Walk the Tree of Captures in a Given Order

The given callback is invoked for each node in the capture tree. The order in which the callback is invoked can be chosen.

Trait Implementations§

source§

impl Clone for Region

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Region

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Region

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Drop for Region

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<'a> IntoIterator for &'a Region

§

type Item = (usize, usize)

The type of the elements being iterated over.
§

type IntoIter = RegionIter<'a>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl PartialEq for Region

source§

fn eq(&self, other: &Region) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for Region

source§

impl StructuralPartialEq for Region

Auto Trait Implementations§

§

impl Freeze for Region

§

impl RefUnwindSafe for Region

§

impl !Send for Region

§

impl !Sync for Region

§

impl Unpin for Region

§

impl UnwindSafe for Region

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.