fn generate_native_declaration(&self, provider: &ProviderTraitGenerator) -> TokenStream {
        let func = self.generate_native_probe_func(provider);
        let is_enabled = self.generate_native_is_enabled(provider);

        quote! {
            #func

            #is_enabled
        }
    }
/// Generates the declaration for the "native" C++ functions which fire the probes using
/// whatever the platform's tracing system is.  Depending upon the target, this generates one
/// of two possible things:
///
/// For the `NoOp` target, this generates Rust functions with the same signatures as the native
/// functions would have been, but rather than being `extern` FFI declarations, these are
/// actually implemented with an empty method body that does nothing.  This way the actual
/// probe firing code generated by the `probe!` macro is the same for either `NoOp` or a real
/// implementation.
///
/// For real implementations (anything but `StaticNoOp` and `Disabled`), generates an `extern
/// "C"` declaration which declares the native wrapper function, which will be linked in a static
/// library generated already at build time in `build.rs`.
Generates the declaration for the "native" C++ functions which fire the probes using
whatever the platform's tracing system is.  Depending upon the target, this generates one
of two possible things.

For the `NoOp` target, this generates Rust functions with the same signatures as the native
functions would have been, but rather than being `extern` FFI declarations, these are
actually implemented with an empty method body that does nothing.  This way the actual
probe firing code generated by the `probe!` macro is the same for either `NoOp` or a real
implementation.


Generates the declaration for the " native " C ++ functions which fire the probes using whatever the platform ' s tracing system is . Depending upon the target this generates one of two possible things . For the ` NoOp ` target this generates Rust functions with the same signatures as the native functions would have been but rather than being ` extern ` FFI declarations these are actually implemented with an empty method body that does nothing . This way the actual probe firing code generated by the ` probe! ` macro is the same for either ` NoOp ` or a real implementation .
fn generate_native_declaration(&self, provider: &ProviderTraitGenerator) -> TokenStream {
        let func = self.generate_native_probe_func(provider);
        let is_enabled = self.generate_native_is_enabled(provider);
        quote! {
            #func
            #is_enabled
        }
    }
fn generate_native_declaration ( & self , provider : & ProviderTraitGenerator ) -> TokenStream { let func = self . generate_native_probe_func ( provider ) ; let is_enabled = self . generate_native_is_enabled ( provider ) ; quote ! { func is_enabled } }
Generates the declaration for the "native" C++ functions which fire the probes using
whatever the platform's tracing system is.
Generates the declaration for the " native " C ++ functions which fire the probes using whatever the platform ' s tracing system is .
&self
provider
&ProviderTraitGenerator
&self
provider
&ProviderTraitGenerator