Struct tk::Tk

source ·
pub struct Tk<Inst: TkInstance> { /* private fields */ }
Expand description

Tk instance.

Implementations§

source§

impl<Inst: TkInstance> Tk<Inst>

source

pub fn pack<Opts>( &self, paths_opts: impl Into<PathOptsWidgets<Opts, ()>> ) -> InterpResult<()>where Opts: IntoHomoTuple<TkPackOpt> + IntoHomoTuple<OptPair>,

source§

impl<Inst: TkInstance> Tk<Inst>

source

pub fn grid<Opts>( &self, paths_opts: impl Into<PathOptsWidgets<Opts, ()>> ) -> InterpResult<()>where Opts: IntoHomoTuple<TkGridOpt> + IntoHomoTuple<OptPair>,

source§

impl<Inst: TkInstance> Tk<Inst>

source

pub fn place<Opts>( &self, paths_opts: impl Into<PathOptsWidgets<Opts, ()>> ) -> InterpResult<()>where Opts: IntoHomoTuple<TkPlaceOpt> + IntoHomoTuple<OptPair>,

source§

impl<Inst: TkInstance> Tk<Inst>

source

pub fn app_name(&self) -> InterpResult<String>

source

pub fn set_app_name(&self, new_name: &str) -> InterpResult<String>

source

pub fn busy(&self, widget: Widget<Inst>) -> InterpResult<()>

source

pub fn busy_hold<Opts>( &self, widget: Widget<Inst>, opts: impl Into<PathOptsWidgets<Opts, ()>> ) -> InterpResult<()>where Opts: IntoHomoTuple<TkBusyHoldOpt> + IntoHomoTuple<OptPair>,

source

pub fn busy_cget<Opt>( &self, widget: Widget<Inst>, _name_fn: fn(_: Obj) -> Opt ) -> InterpResult<Obj>where Opt: TkOption + Into<TkBusyHoldOpt>,

source

pub fn busy_configure<Opts>( &self, widget: Widget<Inst>, opts: impl Into<PathOptsWidgets<Opts, ()>> ) -> InterpResult<()>where Opts: IntoHomoTuple<TkBusyHoldOpt> + IntoHomoTuple<OptPair>,

source

pub fn busy_forget(&self, widgets: &[Widget<Inst>]) -> InterpResult<()>

source

pub fn busy_current( &self ) -> Result<Vec<Widget<Inst>>, Enum3<InterpError, NotList, WidgetNotFound>>

source

pub fn busy_current_of_pattern( &self, pattern: &str ) -> Result<Vec<Widget<Inst>>, Enum3<InterpError, NotList, WidgetNotFound>>

source

pub fn busy_status(&self, widget: Widget<Inst>) -> InterpResult<bool>

source

pub fn caret( &self, widget: Widget<Inst> ) -> Result<TkCaret, Enum2<DeError, InterpError>>

source

pub fn set_caret<Opts>( &self, widget: Widget<Inst>, opts: impl Into<PathOptsWidgets<Opts, ()>> ) -> InterpResult<()>where Opts: IntoHomoTuple<TkCaretOpt> + IntoHomoTuple<OptPair>,

source

pub fn inactive(&self) -> InterpResult<c_longlong>

source

pub fn inactive_reset(&self) -> InterpResult<c_longlong>

source

pub fn fontchooser_configure<Opts>( &self, opts: impl Into<PathOptsWidgets<Opts, ()>> ) -> InterpResult<()>where Opts: IntoHomoTuple<TkFontChooserOpt> + IntoHomoTuple<OptPair>,

source

pub fn fontchooser_show(&self) -> InterpResult<()>

source

pub fn fontchooser_hide(&self) -> InterpResult<()>

source

pub fn scaling(&self) -> InterpResult<c_double>

source

pub fn set_scaling(&self, number: c_double) -> InterpResult<()>

source

pub fn has_used_input_methods(&self) -> InterpResult<bool>

source

pub fn use_input_methods(&self, should_use: bool) -> InterpResult<()>

source

pub fn windowing_system( &self ) -> Result<TkWindowingSystem, Enum2<DeError, InterpError>>

source

pub fn choose_color<Opts>( &self, opts: impl Into<PathOptsWidgets<Opts, ()>> ) -> InterpResult<String>where Opts: IntoHomoTuple<TkChooseColorOpt> + IntoHomoTuple<OptPair>,

source

pub fn choose_directory<Opts>( &self, opts: impl Into<PathOptsWidgets<Opts, ()>> ) -> InterpResult<PathBuf>where Opts: IntoHomoTuple<TkChooseDirectoryOpt> + IntoHomoTuple<OptPair>,

source

pub fn focus_next(&self, widget: Widget<Inst>) -> InterpResult<Widget<Inst>>

source

pub fn focus_prev(&self, widget: Widget<Inst>) -> InterpResult<Widget<Inst>>

source

pub fn focus_follows_mouse(&self) -> InterpResult<()>

source

pub fn get_open_file<Opts>( &self, opts: impl Into<PathOptsWidgets<Opts, ()>> ) -> InterpResult<Option<PathBuf>>where Opts: IntoHomoTuple<TkGetOpenFileOpt> + IntoHomoTuple<OptPair>,

source

pub fn get_save_file<Opts>( &self, opts: impl Into<PathOptsWidgets<Opts, ()>> ) -> InterpResult<Option<PathBuf>>where Opts: IntoHomoTuple<TkGetOpenFileOpt> + IntoHomoTuple<OptPair>,

source

pub fn message_box<Opts>( &self, opts: impl Into<PathOptsWidgets<Opts, ()>> ) -> InterpResult<String>where Opts: IntoHomoTuple<TkMessageBoxOpt> + IntoHomoTuple<OptPair>,

source

pub fn popup( &self, menu: TkMenu<Inst>, x: c_int, y: c_int, entry: Option<c_int> ) -> InterpResult<()>

source

pub fn set_palette_background( &self, background: impl Into<Obj> ) -> InterpResult<()>

source

pub fn set_palette<Opts>( &self, opts: impl Into<PathOptsWidgets<Opts, ()>> ) -> InterpResult<()>where Opts: IntoHomoTuple<TkSetPaletteOpt> + IntoHomoTuple<OptPair>,

source

pub fn wait_variable(&self, name: &str) -> InterpResult<()>

source

pub fn wait_visibility(&self, widget: &Widget<Inst>) -> InterpResult<()>

source

pub fn wait_window(&self, widget: &Widget<Inst>) -> InterpResult<()>

source

pub fn destroy<Widgets, Tag>(&self, widgets: Widgets) -> InterpResult<()>where Widgets: IntoHomoTuple<Obj> + NonZeroLen<Tag>, <Widgets as IntoHomoTuple<Obj>>::Output: Into<Obj>,

This command deletes the windows given by the window arguments, plus all of their descendants. If a window “.” is deleted then all windows will be destroyed and the application will (normally) exit. The windows are destroyed in order, and if an error occurs in destroying a window the command aborts without destroying the remaining windows. No error is returned if window does not exist.

Examples
 use tcl::*;
 use tk::*;
 use tk::cmd::*;

 let tk = make_tk!()?;
 let root = tk.root();
 root.add_widgets( -label( "lb" -text("Some label") ))?;

 assert!( tk.winfo_exists( ".lb" )? );
 tk.destroy(( ".lb", ))?;
 assert!( !tk.winfo_exists( ".lb" )? );

 let lb2 = root.add_label( "lb2" -text("Another label") )?;

 assert!( tk.winfo_exists( ".lb2" )? );
 tk.destroy(( lb2, ))?;
 assert!( !tk.winfo_exists( ".lb2" )? );
source

pub fn grab_current(&self) -> InterpResult<Widget<Inst>>

source§

impl<Inst: TkInstance> Tk<Inst>

source

pub fn option_add( &self, pattern: impl Into<Obj>, value: impl Into<Obj> ) -> InterpResult<()>

source

pub fn option_add_with_priority( &self, pattern: impl Into<Obj>, value: impl Into<Obj>, priority: impl Into<Obj> ) -> InterpResult<()>

source

pub fn option_clear(&self) -> InterpResult<()>

source

pub fn option_get( &self, window: impl Into<Obj>, name: impl Into<Obj>, class: impl Into<Obj> ) -> InterpResult<Obj>

source

pub fn option_readfile(&self, filename: impl AsRef<Path>) -> InterpResult<()>

source

pub fn option_readfile_with_priority( &self, filename: impl AsRef<Path>, priority: impl Into<Obj> ) -> InterpResult<()>

source§

impl<TK: TkInstance> Tk<TK>

source

pub fn new_ttk_style( &self, name: &str, base_style: Option<TtkStyle<TK>> ) -> TtkStyle<TK>

source

pub fn element(&self, name: &str) -> TtkElement<TK>

source

pub fn element_create( &self, element_name: &str, type_: &str, args: Option<Obj> ) -> InterpResult<TtkElement<TK>>

source

pub fn element_names(&self) -> Result<Vec<String>, Enum2<InterpError, NotList>>

source

pub fn theme_create<Opts>( &self, name_parent_settings: impl Into<PathOptsWidgets<Opts, ()>> ) -> InterpResult<TtkTheme<TK>>where Opts: IntoHomoTuple<TkThemeCreateOpt> + IntoHomoTuple<OptPair>,

source

pub fn theme_names(&self) -> Result<Vec<String>, Enum2<InterpError, NotList>>

source

pub fn theme_in_use(&self) -> InterpResult<TtkTheme<TK>>

source§

impl<Inst: TkInstance> Tk<Inst>

source

pub fn bind( &self, tag: TkBindTag<'_, Inst>, sequence: impl Into<TkEventSeq>, script: impl Into<Obj> ) -> InterpResult<()>

source

pub fn bind_more( &self, tag: TkBindTag<'_, Inst>, sequence: impl Into<TkEventSeq>, script: impl Into<Obj> ) -> InterpResult<()>

source§

impl<Inst: TkInstance> Tk<Inst>

source

pub fn event_add( &self, virtual_event: TkEvent, sequences: Vec<TkEventSeq> ) -> InterpResult<()>

Associates the virtual event virtual with the physical event sequence(s) given by the sequence arguments, so that the virtual event will trigger whenever any one of the sequences occurs. Virtual may be any string value and sequence may have any of the values allowed for the sequence argument to the bind command. If virtual is already defined, the new physical event sequences add to the existing sequences for the event.

source

pub fn event_delete( &self, virtual_event: TkEvent, sequences: Option<Vec<TkEventSeq>> ) -> InterpResult<()>

Deletes each of the sequences from those associated with the virtual event given by virtual. Virtual may be any string value and sequence may have any of the values allowed for the sequence argument to the bind command. Any sequences not currently associated with virtual are ignored. If no sequence argument is provided, all physical event sequences are removed for virtual, so that the virtual event will not trigger anymore.

source

pub fn event_info(&self) -> Result<Vec<TkEvent>, Enum2<InterpError, NotList>>

Returns a list of all the virtual events that are currently defined.

source

pub fn event_info_sequences_of( &self, virtual_event: TkEvent ) -> Result<Vec<TkEventSeq>, Enum2<InterpError, NotList>>

Returns a list whose elements are the physical event sequences currently defined for the given virtual event; if the virtual event is not defined then an empty string is returned.

Note that virtual events that are not bound to physical event sequences are not returned.

source§

impl<Inst: TkInstance> Tk<Inst>

source

pub fn image_create_bitmap<Opts>( &self, opts: impl Into<PathOptsWidgets<Opts, ()>> ) -> InterpResult<Bitmap<Inst>>where Opts: IntoHomoTuple<TkBitmapOpt> + IntoHomoTuple<OptPair>,

source

pub fn image_create_photo<Opts>( &self, opts: impl Into<PathOptsWidgets<Opts, ()>> ) -> InterpResult<Photo<Inst>>where Opts: IntoHomoTuple<TkPhotoOpt> + IntoHomoTuple<OptPair>,

source

pub fn image_delete(&self, image: Obj) -> InterpResult<()>

source

pub fn image_names(&self) -> Result<Vec<String>, Enum2<InterpError, NotList>>

source

pub fn image_types(&self) -> Result<Vec<String>, Enum2<InterpError, NotList>>

source§

impl<Inst: TkInstance> Tk<Inst>

source

pub fn focus(&self) -> InterpResult<Widget<Inst>>

source§

impl<Inst: TkInstance> Tk<Inst>

source

pub fn winfo_atom(&self, name: &str) -> InterpResult<c_longlong>

source

pub fn winfo_atomname(&self, id: c_longlong) -> InterpResult<String>

source

pub fn winfo_containing( &self, root_x: c_int, root_y: c_int ) -> InterpResult<String>

source

pub fn winfo_exists(&self, name: &str) -> InterpResult<bool>

source

pub fn winfo_interps(&self) -> Result<Vec<String>, Enum2<InterpError, NotList>>

Returns a list whose members are the names of all Tcl interpreters (e.g. all Tk-based applications) currently registered for the main window.

source

pub fn winfo_pathname(&self, id: c_ulong) -> InterpResult<String>

source§

impl<Inst: TkInstance> Tk<Inst>

source

pub fn font_actual<'a, Opt, Opts>( &self, font: Font<'a, Opts>, _option: Opt, ch: Option<char> ) -> InterpResult<Obj>where Opt: TkOption + Into<TkFontOpt>, Opts: IntoHomoTuple<TkFontOpt> + IntoHomoTuple<OptPair>,

Returns the value of the actual attribute that are obtained when font is used on the main window’s display; the actual attribute obtained may differ from the attribute requested due to platform-dependent limitations, such as the availability of font families and point sizes. If the char argument is supplied, the font attribute returned will be those of the specific font used to render that character, which will be different from the base font if the base font does not contain the given character.

source

pub fn font_actual_get_all<'a, Opts>( &self, font: Font<'a, Opts> ) -> InterpResult<Obj>where Opts: IntoHomoTuple<TkFontOpt> + IntoHomoTuple<OptPair>,

Returns a list of all the atual attributes and their values that are obtained when font is used on the main window’s display; the actual attributes obtained may differ from the attributes requested due to platform-dependent limitations, such as the availability of font families and point sizes. If the char argument is supplied, the font attributes returned will be those of the specific font used to render that character, which will be different from the base font if the base font does not contain the given character.

source

pub fn font_configure<Opts>( &self, fontname: &str, opts: impl Into<PathOptsWidgets<Opts, ()>> ) -> InterpResult<()>where Opts: IntoHomoTuple<TkFontOpt> + IntoHomoTuple<OptPair>,

source

pub fn font_configure_get<Opt>( &self, fontname: &str, _opt: Opt ) -> InterpResult<Obj>where Opt: TkOption + Into<TkFontOpt>,

source

pub fn font_configure_get_all( &self, fontname: &str ) -> Result<Vec<OptPair>, Enum3<InterpError, NotList, NotSeqOf<OptPair>>>

source

pub fn font_create<Opts>( &self, fontname: &str, opts: impl Into<PathOptsWidgets<Opts, ()>> ) -> InterpResult<Obj>where Opts: IntoHomoTuple<TkFontOpt> + IntoHomoTuple<OptPair>,

source

pub fn font_create_with_auto_name<Opts>( &self, opts: impl Into<PathOptsWidgets<Opts, ()>> ) -> InterpResult<Obj>where Opts: IntoHomoTuple<TkFontOpt> + IntoHomoTuple<OptPair>,

source

pub fn font_delete(&self, names: &[Obj]) -> InterpResult<()>

source

pub fn font_families(&self) -> Result<Vec<String>, Enum2<InterpError, NotList>>

source

pub fn font_measure<'a, Opts>( &self, font: Font<'a, Opts>, text: impl Into<String> ) -> InterpResult<c_longlong>where Opts: IntoHomoTuple<TkFontOpt> + IntoHomoTuple<OptPair>,

source

pub fn font_metrics<'a, Opt, Opts>( &self, font: Font<'a, Opts>, _opt: Opt ) -> InterpResult<Obj>where Opt: TkOption + Into<TkFontOpt>, Opts: IntoHomoTuple<TkFontOpt> + IntoHomoTuple<OptPair>,

source

pub fn font_metrics_get_all<'a, Opts>( &self, font: Font<'a, Opts> ) -> Result<Vec<OptPair>, Enum3<InterpError, NotList, NotSeqOf<OptPair>>>where Opts: IntoHomoTuple<TkFontOpt> + IntoHomoTuple<OptPair>,

source

pub fn font_names(&self) -> Result<Vec<String>, Enum2<InterpError, NotList>>

The return value is a list of all the named fonts that are currently defined.

Examples
use tcl::*;
use tk::*;
use tk::cmd::*;

let tk = make_tk!()?;
let font_names = tk.font_names().unwrap();
assert!( font_names.len() > 0 );
source§

impl<Inst> Tk<Inst>where Inst: 'static + Copy + Clone,

source

pub fn new( inst: Inst ) -> Result<Tk<Inst>, Enum3<InterpError, NullInterp, TclInitError>>

Creates a new instance of Tk. The recommended invocation is Tk::new(||{}).

Note: the inst is assigned at COMPILE TIME. If your program needs multiple tk instances, make sure they can be assigned different inst at compile time.

source§

impl<Inst: TkInstance> Tk<Inst>

source

pub fn root(&self) -> TkRoot<Inst>

Reference to the root widget of tk. The root’s widget path is “.”.

Trait Implementations§

source§

impl<Inst: Clone + TkInstance> Clone for Tk<Inst>

source§

fn clone(&self) -> Tk<Inst>

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<Inst: TkInstance> Deref for Tk<Inst>

§

type Target = Engine

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<Inst: Copy + TkInstance> Copy for Tk<Inst>

Auto Trait Implementations§

§

impl<Inst> RefUnwindSafe for Tk<Inst>where Inst: RefUnwindSafe,

§

impl<Inst> !Send for Tk<Inst>

§

impl<Inst> !Sync for Tk<Inst>

§

impl<Inst> Unpin for Tk<Inst>where Inst: Unpin,

§

impl<Inst> UnwindSafe for Tk<Inst>where Inst: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<Enum> Error for Enum

source§

fn error<T, Dest, Index>(self) -> Result<T, Dest>where Self: Sized + ExchangeInto<Dest, Index>,

source§

impl<_I0, _T0, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0,)>> for Destwhere Src: Proto<Type = __1<_T0>>, Dest: ExchangeFrom<_T0, _I0>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _T0, _T1, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1)>> for Destwhere Src: Proto<Type = __2<_T0, _T1>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _T0, _T1, _T2, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2)>> for Destwhere Src: Proto<Type = __3<_T0, _T1, _T2>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _T0, _T1, _T2, _T3, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3)>> for Destwhere Src: Proto<Type = __4<_T0, _T1, _T2, _T3>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _T0, _T1, _T2, _T3, _T4, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4)>> for Destwhere Src: Proto<Type = __5<_T0, _T1, _T2, _T3, _T4>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _T0, _T1, _T2, _T3, _T4, _T5, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5)>> for Destwhere Src: Proto<Type = __6<_T0, _T1, _T2, _T3, _T4, _T5>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _T0, _T1, _T2, _T3, _T4, _T5, _T6, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6)>> for Destwhere Src: Proto<Type = __7<_T0, _T1, _T2, _T3, _T4, _T5, _T6>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7)>> for Destwhere Src: Proto<Type = __8<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8)>> for Destwhere Src: Proto<Type = __9<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9)>> for Destwhere Src: Proto<Type = __10<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10)>> for Destwhere Src: Proto<Type = __11<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9> + ExchangeFrom<_T10, _I10>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11)>> for Destwhere Src: Proto<Type = __12<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9> + ExchangeFrom<_T10, _I10> + ExchangeFrom<_T11, _I11>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12)>> for Destwhere Src: Proto<Type = __13<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9> + ExchangeFrom<_T10, _I10> + ExchangeFrom<_T11, _I11> + ExchangeFrom<_T12, _I12>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _I13, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _I13)>> for Destwhere Src: Proto<Type = __14<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9> + ExchangeFrom<_T10, _I10> + ExchangeFrom<_T11, _I11> + ExchangeFrom<_T12, _I12> + ExchangeFrom<_T13, _I13>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _I13, _I14, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _I13, _I14)>> for Destwhere Src: Proto<Type = __15<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9> + ExchangeFrom<_T10, _I10> + ExchangeFrom<_T11, _I11> + ExchangeFrom<_T12, _I12> + ExchangeFrom<_T13, _I13> + ExchangeFrom<_T14, _I14>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _I13, _I14, _I15, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _I13, _I14, _I15)>> for Destwhere Src: Proto<Type = __16<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9> + ExchangeFrom<_T10, _I10> + ExchangeFrom<_T11, _I11> + ExchangeFrom<_T12, _I12> + ExchangeFrom<_T13, _I13> + ExchangeFrom<_T14, _I14> + ExchangeFrom<_T15, _I15>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<Src, Dest, Index> ExchangeInto<Dest, Index> for Srcwhere Dest: ExchangeFrom<Src, Index>,

source§

fn exchange_into(self) -> Dest

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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<Enum, Variant, Index> IntoEnum<Enum, Index> for Variantwhere Enum: FromVariant<Variant, Index>,

source§

fn into_enum(self) -> Enum

source§

impl<Src, Dest> IntoTuple<Dest> for Srcwhere Dest: FromTuple<Src>,

source§

fn into_tuple(self) -> Dest

source§

impl<T, E> Ret<Result<T, E>, _WrapOk> for T

source§

fn ret(self) -> Result<T, E>

source§

impl<T, E, A> RetLog<Result<T, E>, A, _WrapOk> for Twhere A: LogAgent,

source§

fn ret_log(self, _item: impl Fn() -> <A as LogAgent>::Item) -> Result<T, E>

source§

impl<T, E, F, I> Throw<Result<T, F>, _WrapErr<I>> for Ewhere E: ExchangeInto<F, I>,

source§

fn throw(self) -> Result<T, F>

source§

impl<T, E, F, A, I> ThrowLog<Result<T, F>, A, _ToLog<I>> for Ewhere A: LogAgent, E: ToLog<A>, Log<E, A>: ExchangeInto<F, I>,

source§

fn throw_log(self, item: impl Fn() -> <A as LogAgent>::Item) -> Result<T, F>

source§

impl<Inner, Agent> ToLog<Agent> for Innerwhere Agent: LogAgent,

source§

fn new_log(self) -> Log<Inner, Agent>

source§

fn to_log(self, item: <Agent as LogAgent>::Item) -> Log<Inner, Agent>

source§

impl<T> ToOwned for Twhere 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 Twhere 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 Twhere 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.