AsHandle

Trait AsHandle 

1.63.0Source
pub trait AsHandle {
    // Required method
    fn as_handle(&self) -> BorrowedHandle<'_>;
}
Available on Windows only.
Expand description

A trait to borrow the handle from an underlying object.

Required Methods

1.63.0Source

fn as_handle(&self) -> BorrowedHandle<'_>

Borrows the handle.

Example
use std::fs::File;
use std::os::windows::io::{AsHandle, BorrowedHandle};

let mut f = File::open("foo.txt")?;
let borrowed_handle: BorrowedHandle<'_> = f.as_handle();

Implementors

1.63.0Source

impl AsHandle for File

1.87.0Source

impl AsHandle for PipeReader

1.87.0Source

impl AsHandle for PipeWriter

1.63.0Source

impl AsHandle for Stderr

1.63.0Source

impl AsHandle for Stdin

1.63.0Source

impl AsHandle for Stdout

1.63.0Source

impl AsHandle for Child

1.63.0Source

impl AsHandle for ChildStderr

1.63.0Source

impl AsHandle for ChildStdin

1.63.0Source

impl AsHandle for ChildStdout

1.63.0Source

impl AsHandle for BorrowedHandle<'_>

1.63.0Source

impl AsHandle for OwnedHandle

1.63.0Source

impl<'a> AsHandle for StderrLock<'a>

1.63.0Source

impl<'a> AsHandle for StdinLock<'a>

1.63.0Source

impl<'a> AsHandle for StdoutLock<'a>

1.63.0Source

impl<T> AsHandle for JoinHandle<T>

1.63.0Source

impl<T: AsHandle + ?Sized> AsHandle for &T

1.63.0Source

impl<T: AsHandle + ?Sized> AsHandle for &mut T

1.71.0Source

impl<T: AsHandle + ?Sized> AsHandle for Box<T>

1.71.0Source

impl<T: AsHandle + ?Sized> AsHandle for Rc<T>

Source

impl<T: AsHandle + ?Sized> AsHandle for UniqueRc<T>

1.71.0Source

impl<T: AsHandle + ?Sized> AsHandle for Arc<T>

This impl allows implementing traits that require AsHandle on Arc.

use std::fs::File;
use std::sync::Arc;

trait MyTrait: AsHandle {}
impl MyTrait for Arc<File> {}
impl MyTrait for Box<File> {}