Trait cdragon_prop::visitor::BinVisitor
source · pub trait BinVisitor {
type Error;
Show 30 methods
// Provided methods
fn traverse_entry(&mut self, value: &BinEntry) -> Result<(), Self::Error> { ... }
fn visit_type(&mut self, _btype: BinType) -> bool { ... }
fn visit_entry(&mut self, _value: &BinEntry) -> Result<bool, Self::Error> { ... }
fn visit_field(&mut self, value: &BinField) -> Result<bool, Self::Error> { ... }
fn visit_none(&mut self, _value: &BinNone) -> Result<(), Self::Error> { ... }
fn visit_bool(&mut self, _value: &BinBool) -> Result<(), Self::Error> { ... }
fn visit_s8(&mut self, _value: &BinS8) -> Result<(), Self::Error> { ... }
fn visit_u8(&mut self, _value: &BinU8) -> Result<(), Self::Error> { ... }
fn visit_s16(&mut self, _value: &BinS16) -> Result<(), Self::Error> { ... }
fn visit_u16(&mut self, _value: &BinU16) -> Result<(), Self::Error> { ... }
fn visit_s32(&mut self, _value: &BinS32) -> Result<(), Self::Error> { ... }
fn visit_u32(&mut self, _value: &BinU32) -> Result<(), Self::Error> { ... }
fn visit_s64(&mut self, _value: &BinS64) -> Result<(), Self::Error> { ... }
fn visit_u64(&mut self, _value: &BinU64) -> Result<(), Self::Error> { ... }
fn visit_float(&mut self, _value: &BinFloat) -> Result<(), Self::Error> { ... }
fn visit_vec2(&mut self, _value: &BinVec2) -> Result<(), Self::Error> { ... }
fn visit_vec3(&mut self, _value: &BinVec3) -> Result<(), Self::Error> { ... }
fn visit_vec4(&mut self, _value: &BinVec4) -> Result<(), Self::Error> { ... }
fn visit_matrix(&mut self, _value: &BinMatrix) -> Result<(), Self::Error> { ... }
fn visit_color(&mut self, _value: &BinColor) -> Result<(), Self::Error> { ... }
fn visit_string(&mut self, _value: &BinString) -> Result<(), Self::Error> { ... }
fn visit_hash(&mut self, _value: &BinHash) -> Result<(), Self::Error> { ... }
fn visit_path(&mut self, _value: &BinPath) -> Result<(), Self::Error> { ... }
fn visit_list(&mut self, value: &BinList) -> Result<bool, Self::Error> { ... }
fn visit_struct(&mut self, _value: &BinStruct) -> Result<bool, Self::Error> { ... }
fn visit_embed(&mut self, _value: &BinEmbed) -> Result<bool, Self::Error> { ... }
fn visit_link(&mut self, _value: &BinLink) -> Result<(), Self::Error> { ... }
fn visit_option(&mut self, value: &BinOption) -> Result<bool, Self::Error> { ... }
fn visit_map(&mut self, _value: &BinMap) -> Result<bool, Self::Error> { ... }
fn visit_flag(&mut self, _value: &BinFlag) -> Result<(), Self::Error> { ... }
}
Expand description
Interface to visit values of nested bin values
Visit methods of nested types can return false
to not visit nested values.
By default, everything is visited.
visit_type() can be used to easily ignore some types. It is used for default implementations and internal shortcuts.
Required Associated Types§
Provided Methods§
sourcefn traverse_entry(&mut self, value: &BinEntry) -> Result<(), Self::Error>
fn traverse_entry(&mut self, value: &BinEntry) -> Result<(), Self::Error>
Called to visit an entry
This method exists so an implementation can execute code after an entry has been visited.
sourcefn visit_type(&mut self, _btype: BinType) -> bool
fn visit_type(&mut self, _btype: BinType) -> bool
Return true to visit given type