pub struct FusedDecodeScanPrograms {
pub base64_program: Option<Program>,
pub hex_program: Option<Program>,
pub state_count: u32,
}Expand description
Compiled fused decode+scan programs, lazily built and cached.
Holds the vyre Program objects for base64-then-AC and hex-then-AC.
These programs share the same DFA tables as the literal-set AC engine
but prepend an on-GPU decode stage.
Fields§
§base64_program: Option<Program>Fused base64 decode + AC scan program. None if the DFA tables
are not available (no patterns compiled).
hex_program: Option<Program>Fused hex decode + AC scan program.
state_count: u32Number of DFA states in the shared AC automaton.
Implementations§
Source§impl FusedDecodeScanPrograms
impl FusedDecodeScanPrograms
Sourcepub fn program_for(&self, encoding: FusedEncoding) -> Option<&Program>
pub fn program_for(&self, encoding: FusedEncoding) -> Option<&Program>
Get the fused program for the given encoding, if available.
Sourcepub fn any_available(&self) -> bool
pub fn any_available(&self) -> bool
Returns true if at least one fused program was built successfully.
Auto Trait Implementations§
impl !Freeze for FusedDecodeScanPrograms
impl !RefUnwindSafe for FusedDecodeScanPrograms
impl !UnwindSafe for FusedDecodeScanPrograms
impl Send for FusedDecodeScanPrograms
impl Sync for FusedDecodeScanPrograms
impl Unpin for FusedDecodeScanPrograms
impl UnsafeUnpin for FusedDecodeScanPrograms
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more