Trait std::os::windows::io::AsHandle

1.63.0 · source ·
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.0 · source

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.0 · source§

impl AsHandle for File

1.63.0 · source§

impl AsHandle for Stderr

1.63.0 · source§

impl AsHandle for Stdin

1.63.0 · source§

impl AsHandle for Stdout

1.63.0 · source§

impl AsHandle for Child

1.63.0 · source§

impl AsHandle for ChildStderr

1.63.0 · source§

impl AsHandle for ChildStdin

1.63.0 · source§

impl AsHandle for ChildStdout

1.63.0 · source§

impl AsHandle for BorrowedHandle<'_>

1.63.0 · source§

impl AsHandle for OwnedHandle

1.63.0 · source§

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

1.63.0 · source§

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

1.63.0 · source§

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

1.63.0 · source§

impl<T> AsHandle for JoinHandle<T>

1.63.0 · source§

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

1.63.0 · source§

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

1.71.0 · source§

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

1.71.0 · source§

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

1.71.0 · source§

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> {}