pub struct StrykeValue(/* private fields */);Expand description
NaN-boxed value: one u64 (immediates, raw float bits, or tagged heap pointer).
Implementations§
Source§impl StrykeValue
impl StrykeValue
Sourcepub fn shallow_clone(&self) -> Self
pub fn shallow_clone(&self) -> Self
Refcount-only clone: Arc::clone the heap pointer (no deep copy of the payload).
Use this when producing a second handle to the same value that the caller
will read-only or consume via Self::into_string / Arc::try_unwrap-style
uniqueness checks. Cheap O(1) regardless of the payload size.
The default Clone impl deep-copies String/Array/Hash payloads to
preserve “clone = independent writable value” semantics for legacy callers;
in hot RMW paths (.=, slot stash-and-return) that deep copy is O(N) and
must be avoided — use this instead.
Source§impl StrykeValue
impl StrykeValue
Sourcepub const UNDEF: StrykeValue
pub const UNDEF: StrykeValue
UNDEF constant.
Sourcepub fn is_integer_like(&self) -> bool
pub fn is_integer_like(&self) -> bool
typed : Int — inline i32 or heap i64.
Sourcepub fn is_float_like(&self) -> bool
pub fn is_float_like(&self) -> bool
Raw f64 bits or heap boxed float (NaN/Inf).
Sourcepub fn is_string_like(&self) -> bool
pub fn is_string_like(&self) -> bool
Heap UTF-8 string only.
Sourcepub fn bigint(n: BigInt) -> Self
pub fn bigint(n: BigInt) -> Self
Wrap a BigInt. If it fits in i64, demotes to a regular integer so
downstream consumers don’t have to special-case BigInt for small values.
Sourcepub fn as_bigint(&self) -> Option<Arc<BigInt>>
pub fn as_bigint(&self) -> Option<Arc<BigInt>>
Returns the inner BigInt as Arc (zero-copy) when this value is a
boxed BigInt; None otherwise. Use Self::to_bigint to coerce
from i64/f64/strings.
Sourcepub fn to_bigint(&self) -> BigInt
pub fn to_bigint(&self) -> BigInt
Coerce any numeric value into a BigInt. Floats truncate. Used by
arithmetic promotion paths under --compat when one side overflowed.
Sourcepub fn array(v: Vec<StrykeValue>) -> Self
pub fn array(v: Vec<StrykeValue>) -> Self
array — see implementation.
Sourcepub fn iterator(it: Arc<dyn StrykeIterator>) -> Self
pub fn iterator(it: Arc<dyn StrykeIterator>) -> Self
Wrap a lazy iterator as a StrykeValue.
Sourcepub fn is_iterator(&self) -> bool
pub fn is_iterator(&self) -> bool
True when this value is a lazy iterator.
Sourcepub fn into_iterator(&self) -> Arc<dyn StrykeIterator> ⓘ
pub fn into_iterator(&self) -> Arc<dyn StrykeIterator> ⓘ
Extract the iterator Arc (panics if not an iterator).
Sourcepub fn hash(h: IndexMap<String, StrykeValue>) -> Self
pub fn hash(h: IndexMap<String, StrykeValue>) -> Self
hash — see implementation.
Sourcepub fn hash_ref(h: Arc<RwLock<IndexMap<String, StrykeValue>>>) -> Self
pub fn hash_ref(h: Arc<RwLock<IndexMap<String, StrykeValue>>>) -> Self
hash_ref — see implementation.
Sourcepub fn scalar_ref(r: Arc<RwLock<StrykeValue>>) -> Self
pub fn scalar_ref(r: Arc<RwLock<StrykeValue>>) -> Self
scalar_ref — see implementation.
Sourcepub fn capture_cell(r: Arc<RwLock<StrykeValue>>) -> Self
pub fn capture_cell(r: Arc<RwLock<StrykeValue>>) -> Self
capture_cell — see implementation.
Sourcepub fn scalar_binding_ref(name: String) -> Self
pub fn scalar_binding_ref(name: String) -> Self
scalar_binding_ref — see implementation.
Sourcepub fn array_binding_ref(name: String) -> Self
pub fn array_binding_ref(name: String) -> Self
array_binding_ref — see implementation.
Sourcepub fn hash_binding_ref(name: String) -> Self
pub fn hash_binding_ref(name: String) -> Self
hash_binding_ref — see implementation.
Sourcepub fn as_code_ref(&self) -> Option<Arc<StrykeSub>>
pub fn as_code_ref(&self) -> Option<Arc<StrykeSub>>
as_code_ref — see implementation.
Sourcepub fn as_blessed_ref(&self) -> Option<Arc<BlessedRef>>
pub fn as_blessed_ref(&self) -> Option<Arc<BlessedRef>>
as_blessed_ref — see implementation.
Sourcepub fn hash_get(&self, key: &str) -> Option<StrykeValue>
pub fn hash_get(&self, key: &str) -> Option<StrykeValue>
Hash lookup when this value is a plain HeapObject::Hash (not a ref).
Sourcepub fn is_simple_scalar(&self) -> bool
pub fn is_simple_scalar(&self) -> bool
True for simple scalar values (integer, float, string, undef, bytes) that should be wrapped in ScalarRef for closure variable sharing. Complex heap objects like refs, blessed objects, code refs, etc. should NOT be wrapped because they already share state via Arc and wrapping breaks type detection.
Sourcepub fn as_integer(&self) -> Option<i64>
pub fn as_integer(&self) -> Option<i64>
Immediate int32 or heap Integer (not float / string).
Sourcepub fn as_array_vec(&self) -> Option<Vec<StrykeValue>>
pub fn as_array_vec(&self) -> Option<Vec<StrykeValue>>
as_array_vec — see implementation.
Sourcepub fn map_flatten_outputs(&self, peel_array_ref: bool) -> Vec<StrykeValue>
pub fn map_flatten_outputs(&self, peel_array_ref: bool) -> Vec<StrykeValue>
Expand a map / flat_map / pflat_map block result into list elements. Plain arrays
expand; when peel_array_ref, a single ARRAY ref is dereferenced one level (stryke
flat_map / pflat_map; stock map uses peel_array_ref == false).
Sourcepub fn as_hash_map(&self) -> Option<IndexMap<String, StrykeValue>>
pub fn as_hash_map(&self) -> Option<IndexMap<String, StrykeValue>>
as_hash_map — see implementation.
Sourcepub fn length_value(&self, utf8: bool) -> i64
pub fn length_value(&self, utf8: bool) -> i64
length builtin semantics, factored out so the interpreter
(BuiltinId::Length) and the fusevm JIT host helper
(fusevm_bridge::stryke_str_len_op) compute an identical result: array
element count, hash key count, raw-byte length, otherwise the stringified
value’s character count (when the utf8 pragma is active) or byte length.
Sourcepub fn ord_value(&self) -> i64
pub fn ord_value(&self) -> i64
ord builtin: Unicode codepoint of the stringified value’s first char (0 if
empty). Shared by the interpreter (BuiltinId::Ord) and the fusevm JIT host
helper so both agree exactly.
Sourcepub fn hex_value(&self) -> i64
pub fn hex_value(&self) -> i64
hex builtin: parse the stringified value as hexadecimal (optional 0x/0X
prefix), 0 on failure. Shared by the interpreter and the fusevm JIT helper.
Sourcepub fn oct_value(&self) -> i64
pub fn oct_value(&self) -> i64
oct builtin: parse the stringified value per Perl oct (0x/0X hex,
0b/0B binary, 0o/0O or bare-leading-zero octal), 0 on failure. Shared
by the interpreter and the fusevm JIT helper.
Sourcepub fn uc_value(&self) -> String
pub fn uc_value(&self) -> String
uc builtin: the stringified value upper-cased. Shared by the interpreter
(BuiltinId::Uc) and the fusevm JIT host helper so both agree exactly.
Sourcepub fn lc_value(&self) -> String
pub fn lc_value(&self) -> String
lc builtin: the stringified value lower-cased. Shared by the interpreter
(BuiltinId::Lc) and the fusevm JIT host helper.
Sourcepub fn ucfirst_value(&self) -> String
pub fn ucfirst_value(&self) -> String
ucfirst builtin: the stringified value with only its first character
upper-cased. Shared by the interpreter and the fusevm JIT helper.
Sourcepub fn lcfirst_value(&self) -> String
pub fn lcfirst_value(&self) -> String
lcfirst builtin: the stringified value with only its first character
lower-cased. Shared by the interpreter and the fusevm JIT helper.
Sourcepub fn chr_value(&self) -> String
pub fn chr_value(&self) -> String
chr builtin: the one-character string for this value’s integer codepoint
(empty string for an invalid codepoint). Shared by the interpreter
(BuiltinId::Chr) and the fusevm JIT host helper via chr_from_codepoint.
Sourcepub fn fc_value(&self) -> String
pub fn fc_value(&self) -> String
fc builtin: the Unicode default case-fold of the stringified value (used for
caseless comparison). Shared by the interpreter (BuiltinId::Fc) and the fusevm
JIT host helper so both agree exactly.
Sourcepub fn index_value(&self, sub: &StrykeValue) -> i64
pub fn index_value(&self, sub: &StrykeValue) -> i64
index($s, $sub) builtin (2-arg form, no explicit position): the byte offset
of the first occurrence of sub in self, or -1 if absent. Shared by the
interpreter and the fusevm JIT host helper so both agree exactly. (The 3-arg
form with an explicit start position is handled only by the interpreter.)
Sourcepub fn rindex_value(&self, sub: &StrykeValue) -> i64
pub fn rindex_value(&self, sub: &StrykeValue) -> i64
rindex($s, $sub) builtin (2-arg form, no explicit position): the byte offset
of the last occurrence of sub in self, or -1 if absent. Shared by the
interpreter and the fusevm JIT host helper.
Sourcepub fn substr2_value(&self, off: i64) -> String
pub fn substr2_value(&self, off: i64) -> String
substr($s, $off) builtin (2-arg form, no length): the byte-offset suffix of
self starting at off (negative off counts from the end). Mirrors the
interpreter’s byte-based slicing exactly (a non-char-boundary start yields the
empty string). Shared by the interpreter and the fusevm JIT host helper.
Sourcepub fn repeat_value(&self, n: i64) -> String
pub fn repeat_value(&self, n: i64) -> String
$s x $n string-repeat operator: self stringified and repeated n times
(n <= 0 yields the empty string). Shared by the interpreter (Op::StringRepeat)
and the fusevm JIT host helper so both agree exactly.
Sourcepub fn substr3_value(&self, off: i64, len: i64) -> String
pub fn substr3_value(&self, off: i64, len: i64) -> String
substr($s, $off, $len) builtin (3-arg form): the byte-offset substring of
self starting at off (negative counts from the end) for len bytes (a
negative len stops that many bytes from the end). Mirrors the interpreter’s
byte-based slicing exactly (a non-char-boundary range yields the empty string).
Shared by the interpreter and the fusevm JIT host helper.
Sourcepub fn as_async_task(&self) -> Option<Arc<StrykeAsyncTask>>
pub fn as_async_task(&self) -> Option<Arc<StrykeAsyncTask>>
as_async_task — see implementation.
Sourcepub fn as_generator(&self) -> Option<Arc<PerlGenerator>>
pub fn as_generator(&self) -> Option<Arc<PerlGenerator>>
as_generator — see implementation.
Sourcepub fn as_atomic_arc(&self) -> Option<Arc<Mutex<StrykeValue>>>
pub fn as_atomic_arc(&self) -> Option<Arc<Mutex<StrykeValue>>>
as_atomic_arc — see implementation.
Sourcepub fn as_io_handle_name(&self) -> Option<String>
pub fn as_io_handle_name(&self) -> Option<String>
as_io_handle_name — see implementation.
Sourcepub fn as_sqlite_conn(&self) -> Option<Arc<Mutex<Connection>>>
pub fn as_sqlite_conn(&self) -> Option<Arc<Mutex<Connection>>>
as_sqlite_conn — see implementation.
Sourcepub fn as_struct_inst(&self) -> Option<Arc<StructInstance>>
pub fn as_struct_inst(&self) -> Option<Arc<StructInstance>>
as_struct_inst — see implementation.
Sourcepub fn as_enum_inst(&self) -> Option<Arc<EnumInstance>>
pub fn as_enum_inst(&self) -> Option<Arc<EnumInstance>>
as_enum_inst — see implementation.
Sourcepub fn as_class_inst(&self) -> Option<Arc<ClassInstance>>
pub fn as_class_inst(&self) -> Option<Arc<ClassInstance>>
as_class_inst — see implementation.
Sourcepub fn as_dataframe(&self) -> Option<Arc<Mutex<PerlDataFrame>>>
pub fn as_dataframe(&self) -> Option<Arc<Mutex<PerlDataFrame>>>
as_dataframe — see implementation.
Sourcepub fn as_deque(&self) -> Option<Arc<Mutex<VecDeque<StrykeValue>>>>
pub fn as_deque(&self) -> Option<Arc<Mutex<VecDeque<StrykeValue>>>>
as_deque — see implementation.
Sourcepub fn as_pipeline(&self) -> Option<Arc<Mutex<PipelineInner>>>
pub fn as_pipeline(&self) -> Option<Arc<Mutex<PipelineInner>>>
as_pipeline — see implementation.
Sourcepub fn as_capture(&self) -> Option<Arc<CaptureResult>>
pub fn as_capture(&self) -> Option<Arc<CaptureResult>>
as_capture — see implementation.
Sourcepub fn as_remote_cluster(&self) -> Option<Arc<RemoteCluster>>
pub fn as_remote_cluster(&self) -> Option<Arc<RemoteCluster>>
as_remote_cluster — see implementation.
Sourcepub fn as_barrier(&self) -> Option<PerlBarrier>
pub fn as_barrier(&self) -> Option<PerlBarrier>
as_barrier — see implementation.
Sourcepub fn as_channel_tx(&self) -> Option<Arc<Sender<StrykeValue>>>
pub fn as_channel_tx(&self) -> Option<Arc<Sender<StrykeValue>>>
as_channel_tx — see implementation.
Sourcepub fn as_channel_rx(&self) -> Option<Arc<Receiver<StrykeValue>>>
pub fn as_channel_rx(&self) -> Option<Arc<Receiver<StrykeValue>>>
as_channel_rx — see implementation.
Sourcepub fn as_scalar_ref(&self) -> Option<Arc<RwLock<StrykeValue>>>
pub fn as_scalar_ref(&self) -> Option<Arc<RwLock<StrykeValue>>>
as_scalar_ref — see implementation.
Sourcepub fn as_capture_cell(&self) -> Option<Arc<RwLock<StrykeValue>>>
pub fn as_capture_cell(&self) -> Option<Arc<RwLock<StrykeValue>>>
Returns the inner Arc if this is a [HeapObject::CaptureCell].
Sourcepub fn as_scalar_binding_name(&self) -> Option<String>
pub fn as_scalar_binding_name(&self) -> Option<String>
Name of the scalar slot for [HeapObject::ScalarBindingRef], if any.
Sourcepub fn as_array_binding_name(&self) -> Option<String>
pub fn as_array_binding_name(&self) -> Option<String>
Stash-qualified array name for [HeapObject::ArrayBindingRef], if any.
Sourcepub fn as_hash_binding_name(&self) -> Option<String>
pub fn as_hash_binding_name(&self) -> Option<String>
Hash name for [HeapObject::HashBindingRef], if any.
Sourcepub fn as_array_ref(&self) -> Option<Arc<RwLock<Vec<StrykeValue>>>>
pub fn as_array_ref(&self) -> Option<Arc<RwLock<Vec<StrykeValue>>>>
as_array_ref — see implementation.
Sourcepub fn as_hash_ref(&self) -> Option<Arc<RwLock<IndexMap<String, StrykeValue>>>>
pub fn as_hash_ref(&self) -> Option<Arc<RwLock<IndexMap<String, StrykeValue>>>>
as_hash_ref — see implementation.
Sourcepub fn is_mysync_deque_or_heap(&self) -> bool
pub fn is_mysync_deque_or_heap(&self) -> bool
mysync: deque / priority heap — already Arc<Mutex<…>>.
Sourcepub fn regex(
rx: Arc<PerlCompiledRegex>,
pattern_src: String,
flags: String,
) -> Self
pub fn regex( rx: Arc<PerlCompiledRegex>, pattern_src: String, flags: String, ) -> Self
regex — see implementation.
Sourcepub fn regex_src_and_flags(&self) -> Option<(String, String)>
pub fn regex_src_and_flags(&self) -> Option<(String, String)>
Pattern and flag string stored with a compiled regex (for =~ / [Op::RegexMatchDyn]).
Sourcepub fn blessed(b: Arc<BlessedRef>) -> Self
pub fn blessed(b: Arc<BlessedRef>) -> Self
blessed — see implementation.
Sourcepub fn atomic(a: Arc<Mutex<StrykeValue>>) -> Self
pub fn atomic(a: Arc<Mutex<StrykeValue>>) -> Self
atomic — see implementation.
Sourcepub fn channel_tx(tx: Arc<Sender<StrykeValue>>) -> Self
pub fn channel_tx(tx: Arc<Sender<StrykeValue>>) -> Self
channel_tx — see implementation.
Sourcepub fn channel_rx(rx: Arc<Receiver<StrykeValue>>) -> Self
pub fn channel_rx(rx: Arc<Receiver<StrykeValue>>) -> Self
channel_rx — see implementation.
Sourcepub fn async_task(t: Arc<StrykeAsyncTask>) -> Self
pub fn async_task(t: Arc<StrykeAsyncTask>) -> Self
async_task — see implementation.
Sourcepub fn generator(g: Arc<PerlGenerator>) -> Self
pub fn generator(g: Arc<PerlGenerator>) -> Self
generator — see implementation.
Sourcepub fn semaphore(n: i64) -> Self
pub fn semaphore(n: i64) -> Self
Construct a [HeapObject::Semaphore] with n permits (n is clamped
to >= 0 by the caller — see builtins_sync::semaphore_new).
Sourcepub fn as_mutex(&self) -> Option<Arc<MutexHandle>>
pub fn as_mutex(&self) -> Option<Arc<MutexHandle>>
Borrow-the-inner-handle accessor for [HeapObject::Mutex] (returns
the Arc so the handle outlives the temporary StrykeValue).
Sourcepub fn as_semaphore(&self) -> Option<Arc<SemaphoreHandle>>
pub fn as_semaphore(&self) -> Option<Arc<SemaphoreHandle>>
Borrow-the-inner-handle accessor for [HeapObject::Semaphore].
Sourcepub fn bloom_filter(b: Arc<Mutex<BloomFilter>>) -> Self
pub fn bloom_filter(b: Arc<Mutex<BloomFilter>>) -> Self
bloom_filter — see implementation.
Sourcepub fn as_bloom_filter(&self) -> Option<Arc<Mutex<BloomFilter>>>
pub fn as_bloom_filter(&self) -> Option<Arc<Mutex<BloomFilter>>>
as_bloom_filter — see implementation.
Sourcepub fn hll_sketch(h: Arc<Mutex<HllSketch>>) -> Self
pub fn hll_sketch(h: Arc<Mutex<HllSketch>>) -> Self
hll_sketch — see implementation.
Sourcepub fn as_hll_sketch(&self) -> Option<Arc<Mutex<HllSketch>>>
pub fn as_hll_sketch(&self) -> Option<Arc<Mutex<HllSketch>>>
as_hll_sketch — see implementation.
Sourcepub fn cms_sketch(c: Arc<Mutex<CmsSketch>>) -> Self
pub fn cms_sketch(c: Arc<Mutex<CmsSketch>>) -> Self
cms_sketch — see implementation.
Sourcepub fn as_cms_sketch(&self) -> Option<Arc<Mutex<CmsSketch>>>
pub fn as_cms_sketch(&self) -> Option<Arc<Mutex<CmsSketch>>>
as_cms_sketch — see implementation.
Sourcepub fn topk_sketch(t: Arc<Mutex<TopKSketch>>) -> Self
pub fn topk_sketch(t: Arc<Mutex<TopKSketch>>) -> Self
topk_sketch — see implementation.
Sourcepub fn as_topk_sketch(&self) -> Option<Arc<Mutex<TopKSketch>>>
pub fn as_topk_sketch(&self) -> Option<Arc<Mutex<TopKSketch>>>
as_topk_sketch — see implementation.
Sourcepub fn tdigest_sketch(t: Arc<Mutex<TDigestSketch>>) -> Self
pub fn tdigest_sketch(t: Arc<Mutex<TDigestSketch>>) -> Self
tdigest_sketch — see implementation.
Sourcepub fn as_tdigest_sketch(&self) -> Option<Arc<Mutex<TDigestSketch>>>
pub fn as_tdigest_sketch(&self) -> Option<Arc<Mutex<TDigestSketch>>>
as_tdigest_sketch — see implementation.
Sourcepub fn roaring_bitmap(r: Arc<Mutex<RoaringBitmapSketch>>) -> Self
pub fn roaring_bitmap(r: Arc<Mutex<RoaringBitmapSketch>>) -> Self
roaring_bitmap — see implementation.
Sourcepub fn as_roaring_bitmap(&self) -> Option<Arc<Mutex<RoaringBitmapSketch>>>
pub fn as_roaring_bitmap(&self) -> Option<Arc<Mutex<RoaringBitmapSketch>>>
as_roaring_bitmap — see implementation.
Sourcepub fn rate_limiter(r: Arc<Mutex<RateLimiterSketch>>) -> Self
pub fn rate_limiter(r: Arc<Mutex<RateLimiterSketch>>) -> Self
rate_limiter — see implementation.
Sourcepub fn as_rate_limiter(&self) -> Option<Arc<Mutex<RateLimiterSketch>>>
pub fn as_rate_limiter(&self) -> Option<Arc<Mutex<RateLimiterSketch>>>
as_rate_limiter — see implementation.
Sourcepub fn hash_ring(r: Arc<Mutex<HashRingSketch>>) -> Self
pub fn hash_ring(r: Arc<Mutex<HashRingSketch>>) -> Self
hash_ring — see implementation.
Sourcepub fn as_hash_ring(&self) -> Option<Arc<Mutex<HashRingSketch>>>
pub fn as_hash_ring(&self) -> Option<Arc<Mutex<HashRingSketch>>>
as_hash_ring — see implementation.
Sourcepub fn simhash(s: Arc<Mutex<SimHashSketch>>) -> Self
pub fn simhash(s: Arc<Mutex<SimHashSketch>>) -> Self
simhash — see implementation.
Sourcepub fn as_simhash(&self) -> Option<Arc<Mutex<SimHashSketch>>>
pub fn as_simhash(&self) -> Option<Arc<Mutex<SimHashSketch>>>
as_simhash — see implementation.
Sourcepub fn minhash(m: Arc<Mutex<MinHashSketch>>) -> Self
pub fn minhash(m: Arc<Mutex<MinHashSketch>>) -> Self
minhash — see implementation.
Sourcepub fn as_minhash(&self) -> Option<Arc<Mutex<MinHashSketch>>>
pub fn as_minhash(&self) -> Option<Arc<Mutex<MinHashSketch>>>
as_minhash — see implementation.
Sourcepub fn interval_tree(t: Arc<Mutex<IntervalTreeSketch>>) -> Self
pub fn interval_tree(t: Arc<Mutex<IntervalTreeSketch>>) -> Self
interval_tree — see implementation.
Sourcepub fn as_interval_tree(&self) -> Option<Arc<Mutex<IntervalTreeSketch>>>
pub fn as_interval_tree(&self) -> Option<Arc<Mutex<IntervalTreeSketch>>>
as_interval_tree — see implementation.
Sourcepub fn bk_tree(t: Arc<Mutex<BkTreeSketch>>) -> Self
pub fn bk_tree(t: Arc<Mutex<BkTreeSketch>>) -> Self
bk_tree — see implementation.
Sourcepub fn as_bk_tree(&self) -> Option<Arc<Mutex<BkTreeSketch>>>
pub fn as_bk_tree(&self) -> Option<Arc<Mutex<BkTreeSketch>>>
as_bk_tree — see implementation.
Sourcepub fn rope(r: Arc<Mutex<RopeSketch>>) -> Self
pub fn rope(r: Arc<Mutex<RopeSketch>>) -> Self
rope — see implementation.
Sourcepub fn pipeline(p: Arc<Mutex<PipelineInner>>) -> Self
pub fn pipeline(p: Arc<Mutex<PipelineInner>>) -> Self
pipeline — see implementation.
Sourcepub fn capture(c: Arc<CaptureResult>) -> Self
pub fn capture(c: Arc<CaptureResult>) -> Self
capture — see implementation.
Sourcepub fn remote_cluster(c: Arc<RemoteCluster>) -> Self
pub fn remote_cluster(c: Arc<RemoteCluster>) -> Self
remote_cluster — see implementation.
Sourcepub fn barrier(b: PerlBarrier) -> Self
pub fn barrier(b: PerlBarrier) -> Self
barrier — see implementation.
Sourcepub fn sqlite_conn(c: Arc<Mutex<Connection>>) -> Self
pub fn sqlite_conn(c: Arc<Mutex<Connection>>) -> Self
sqlite_conn — see implementation.
Sourcepub fn struct_inst(s: Arc<StructInstance>) -> Self
pub fn struct_inst(s: Arc<StructInstance>) -> Self
struct_inst — see implementation.
Sourcepub fn enum_inst(e: Arc<EnumInstance>) -> Self
pub fn enum_inst(e: Arc<EnumInstance>) -> Self
enum_inst — see implementation.
Sourcepub fn class_inst(c: Arc<ClassInstance>) -> Self
pub fn class_inst(c: Arc<ClassInstance>) -> Self
class_inst — see implementation.
Sourcepub fn dataframe(df: Arc<Mutex<PerlDataFrame>>) -> Self
pub fn dataframe(df: Arc<Mutex<PerlDataFrame>>) -> Self
dataframe — see implementation.
Sourcepub fn errno_dual(code: i32, msg: String) -> Self
pub fn errno_dual(code: i32, msg: String) -> Self
OS errno dualvar ($!) or eval-error dualvar ($@): to_int/to_number use code; string context uses msg.
Sourcepub fn unwrap_atomic(&self) -> StrykeValue
pub fn unwrap_atomic(&self) -> StrykeValue
unwrap_atomic — see implementation.
Sourcepub fn into_string(self) -> String
pub fn into_string(self) -> String
into_string — see implementation.
Sourcepub fn as_str_or_empty(&self) -> String
pub fn as_str_or_empty(&self) -> String
as_str_or_empty — see implementation.
Sourcepub fn ref_type(&self) -> StrykeValue
pub fn ref_type(&self) -> StrykeValue
ref_type — see implementation.
Sourcepub fn num_cmp(&self, other: &StrykeValue) -> Ordering
pub fn num_cmp(&self, other: &StrykeValue) -> Ordering
num_cmp — see implementation.
Sourcepub fn str_eq(&self, other: &StrykeValue) -> bool
pub fn str_eq(&self, other: &StrykeValue) -> bool
String equality for eq / cmp without allocating when both sides are heap strings.
Sourcepub fn str_cmp(&self, other: &StrykeValue) -> Ordering
pub fn str_cmp(&self, other: &StrykeValue) -> Ordering
str_cmp — see implementation.
Sourcepub fn struct_field_eq(&self, other: &StrykeValue) -> bool
pub fn struct_field_eq(&self, other: &StrykeValue) -> bool
Deep equality for struct fields (recursive).
Sourcepub fn deep_clone(&self) -> StrykeValue
pub fn deep_clone(&self) -> StrykeValue
Deep clone a value (used for struct clone).
Sourcepub fn to_list(&self) -> Vec<StrykeValue>
pub fn to_list(&self) -> Vec<StrykeValue>
to_list — see implementation.
Sourcepub fn scalar_context(&self) -> StrykeValue
pub fn scalar_context(&self) -> StrykeValue
scalar_context — see implementation.
Trait Implementations§
Source§impl Clone for StrykeValue
impl Clone for StrykeValue
Source§impl Debug for StrykeValue
impl Debug for StrykeValue
Source§impl Default for StrykeValue
impl Default for StrykeValue
Source§impl Display for StrykeValue
impl Display for StrykeValue
Source§impl Drop for StrykeValue
impl Drop for StrykeValue
Auto Trait Implementations§
impl Freeze for StrykeValue
impl RefUnwindSafe for StrykeValue
impl Send for StrykeValue
impl Sync for StrykeValue
impl Unpin for StrykeValue
impl UnsafeUnpin for StrykeValue
impl UnwindSafe for StrykeValue
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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>
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>
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 moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.Source§impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
Source§fn to_owned_obj(&self, data: FontData<'_>) -> U
fn to_owned_obj(&self, data: FontData<'_>) -> U
T, using the provided data to resolve any offsets.