[−][src]Trait tracers_core::argtypes::ProbeArgType
This trait is defined on any type which is supported as an argument to a probe.
In general only scalar integer types are supported directly, though pointers can be passed as u64 values and the tracing code is then responsible for knowing what to do with the pointer (for example, treat it as a null-terminated UTF-8 string, or a pointer to a certain structure, etc).
Associated Types
type WrapperType: ProbeArgWrapper
Required methods
fn wrap(arg: T) -> Self::WrapperType
Implementations on Foreign Types
impl ProbeArgType<bool> for bool
[src]
type WrapperType = bool
fn wrap(arg: bool) -> Self::WrapperType
[src]
impl<'a> ProbeArgType<&'a CStr> for &'a CStr
[src]
type WrapperType = &'a CStr
fn wrap(arg: &'a CStr) -> Self::WrapperType
[src]
impl<'a> ProbeArgType<&'a CString> for &'a CString
[src]
type WrapperType = &'a CString
fn wrap(arg: &'a CString) -> Self::WrapperType
[src]
impl ProbeArgType<usize> for usize
[src]
type WrapperType = usize
fn wrap(arg: usize) -> Self::WrapperType
[src]
impl ProbeArgType<isize> for isize
[src]
type WrapperType = isize
fn wrap(arg: isize) -> Self::WrapperType
[src]
impl ProbeArgType<u64> for u64
[src]
type WrapperType = u64
fn wrap(arg: u64) -> Self::WrapperType
[src]
impl ProbeArgType<i64> for i64
[src]
type WrapperType = i64
fn wrap(arg: i64) -> Self::WrapperType
[src]
impl ProbeArgType<u32> for u32
[src]
type WrapperType = u32
fn wrap(arg: u32) -> Self::WrapperType
[src]
impl ProbeArgType<i32> for i32
[src]
type WrapperType = i32
fn wrap(arg: i32) -> Self::WrapperType
[src]
impl ProbeArgType<u16> for u16
[src]
type WrapperType = u16
fn wrap(arg: u16) -> Self::WrapperType
[src]
impl ProbeArgType<i16> for i16
[src]
type WrapperType = i16
fn wrap(arg: i16) -> Self::WrapperType
[src]
impl ProbeArgType<u8> for u8
[src]
type WrapperType = u8
fn wrap(arg: u8) -> Self::WrapperType
[src]
impl ProbeArgType<i8> for i8
[src]
type WrapperType = i8
fn wrap(arg: i8) -> Self::WrapperType
[src]
impl<'_, '_, T> ProbeArgType<&'_ Option<T>> for &'_ Option<T> where
T: ProbeArgType<T> + Copy,
[src]
T: ProbeArgType<T> + Copy,
type WrapperType = Option<<T as ProbeArgType<T>>::WrapperType>
fn wrap(arg: &Option<T>) -> Self::WrapperType
[src]
impl<'_, '_> ProbeArgType<&'_ Option<String>> for &'_ Option<String>
[src]
The general implementation for Option<T>
won't work for Option<String>
because we don't
support the String
type, only references like &String
or &str
. But an Option<String>
is quite often used and it should be supported, so we'll implement it directly here.
The result is the same as the outcome of the conversion in the string
module.
type WrapperType = Option<CString>
fn wrap(arg: &Option<String>) -> Self::WrapperType
[src]
impl<T> ProbeArgType<*const T> for *const T
[src]
type WrapperType = *const T
fn wrap(arg: *const T) -> Self::WrapperType
[src]
impl<'a, T> ProbeArgType<&'a T> for &'a T where
T: ProbeArgType<T> + Copy,
[src]
T: ProbeArgType<T> + Copy,