pub struct OverrideTable { /* private fields */ }Expand description
Overlay table that layers one or more tables and resolves lookups front-to-back, so earlier layers shadow later ones.
Reads (get/has/keys/entries/len) consult layers in order and take
the first match, while writes (set/del/clear) target only the front
(first) layer. Each layer is itself a table Value; the override holds
references to them rather than copying their contents, so changes to the
underlying layers are visible through the overlay. Implements the kernel
Table contract along with the object-encoding and citizen contracts.
Implementations§
Trait Implementations§
Source§impl Citizen for OverrideTable
impl Citizen for OverrideTable
Source§fn citizen_symbol() -> Symbol
fn citizen_symbol() -> Symbol
The citizen’s
namespace/name class symbol.Source§fn citizen_version() -> u32
fn citizen_version() -> u32
The citizen’s encoding version.
Source§fn citizen_arity() -> usize
fn citizen_arity() -> usize
Number of constructor fields (excluding the version argument).
Source§fn citizen_fields() -> &'static [&'static str]
fn citizen_fields() -> &'static [&'static str]
The citizen’s field names, in constructor order.
Source§impl Clone for OverrideTable
impl Clone for OverrideTable
Source§fn clone(&self) -> OverrideTable
fn clone(&self) -> OverrideTable
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Object for OverrideTable
impl Object for OverrideTable
Source§fn display(&self, _cx: &mut Cx) -> Result<String>
fn display(&self, _cx: &mut Cx) -> Result<String>
Render the object as a human-readable display string.
Source§fn header(&self) -> &ObjectHeader
fn header(&self) -> &ObjectHeader
Identity and trust header for the object; defaults to the shared
anonymous header.
Source§fn op(&self, _key: &OpKey) -> Option<&dyn Op>
fn op(&self, _key: &OpKey) -> Option<&dyn Op>
Resolve the operation registered under
key, if any.Source§impl ObjectCompat for OverrideTable
impl ObjectCompat for OverrideTable
Source§fn class(&self, cx: &mut Cx) -> Result<ClassRef>
fn class(&self, cx: &mut Cx) -> Result<ClassRef>
Class object this value belongs to; defaults to nil.
Source§fn as_expr(&self, cx: &mut Cx) -> Result<Expr>
fn as_expr(&self, cx: &mut Cx) -> Result<Expr>
Expression form of the object; defaults to an opaque extension node.
Source§fn as_table_impl(&self) -> Option<&dyn Table>
fn as_table_impl(&self) -> Option<&dyn Table>
Table-implementation view, if the object is a table.
Source§fn as_object_encoder(&self) -> Option<&dyn ObjectEncode>
fn as_object_encoder(&self) -> Option<&dyn ObjectEncode>
Object-encoder view, if the object encodes other objects.
Source§fn as_callable(&self) -> Option<&dyn Callable>
fn as_callable(&self) -> Option<&dyn Callable>
Callable view, if the object can be invoked.
Source§fn as_read_constructor(&self) -> Option<&dyn ReadConstructor>
fn as_read_constructor(&self) -> Option<&dyn ReadConstructor>
Read-constructor view, if the object decodes data forms.
Source§fn as_number_domain(&self) -> Option<&(dyn NumberDomain + 'static)>
fn as_number_domain(&self) -> Option<&(dyn NumberDomain + 'static)>
Number-domain view, if the object is a number domain.
Source§fn as_number_value(&self) -> Option<&dyn NumberValue>
fn as_number_value(&self) -> Option<&dyn NumberValue>
Number-value view, if the object is a domain number.
Source§fn as_eval_fabric(&self) -> Option<&dyn EvalFabric>
fn as_eval_fabric(&self) -> Option<&dyn EvalFabric>
Eval-fabric view, if the object is a distributed eval surface.
Source§fn as_sequence(&self) -> Option<&dyn Sequence>
fn as_sequence(&self) -> Option<&dyn Sequence>
Sequence view, if the object is a sequence.
Source§fn as_list(&self) -> Option<&(dyn ListValue + 'static)>
fn as_list(&self) -> Option<&(dyn ListValue + 'static)>
List view, if the object is a list value.
Source§fn as_dir(&self) -> Option<&(dyn Dir + 'static)>
fn as_dir(&self) -> Option<&(dyn Dir + 'static)>
Directory view, if the object is a directory.
Source§impl ObjectEncode for OverrideTable
impl ObjectEncode for OverrideTable
Source§fn object_encoding(&self, cx: &mut Cx) -> Result<ObjectEncoding>
fn object_encoding(&self, cx: &mut Cx) -> Result<ObjectEncoding>
Returns the
ObjectEncoding this object should be rendered as.Source§impl Table for OverrideTable
impl Table for OverrideTable
Source§fn backend_symbol(&self) -> Symbol
fn backend_symbol(&self) -> Symbol
Symbol identifying the backend representation.
Source§fn get(&self, cx: &mut Cx, key: Symbol) -> Result<Value>
fn get(&self, cx: &mut Cx, key: Symbol) -> Result<Value>
Looks up
key, returning nil when absent.Source§fn set(&self, cx: &mut Cx, key: Symbol, value: Value) -> Result<()>
fn set(&self, cx: &mut Cx, key: Symbol, value: Value) -> Result<()>
Inserts or replaces the value for
key.Source§fn del(&self, cx: &mut Cx, key: Symbol) -> Result<Value>
fn del(&self, cx: &mut Cx, key: Symbol) -> Result<Value>
Removes
key, returning its prior value or nil.Source§fn entries(&self, cx: &mut Cx) -> Result<Vec<(Symbol, Value)>>
fn entries(&self, cx: &mut Cx) -> Result<Vec<(Symbol, Value)>>
All key/value pairs, in backend order.
Auto Trait Implementations§
impl !RefUnwindSafe for OverrideTable
impl !UnwindSafe for OverrideTable
impl Freeze for OverrideTable
impl Send for OverrideTable
impl Sync for OverrideTable
impl Unpin for OverrideTable
impl UnsafeUnpin for OverrideTable
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