pub( crate ) mod private
{
use crate::*;
#[ allow( unused_macros ) ]
#[ macro_export ]
macro_rules! impl_vector_deref
{
() => {};
(
$Va : ident $( :: $Vb : ident )* ,
$For : ident $(,)?
)
=>
{
impl< Scalar > Deref for $For< Scalar >
where
Scalar : ScalarInterface,
{
type Target = $Va $( :: $Vb )*< Scalar >;
fn deref( &self ) -> &Self::Target
{
self.as_foreign()
}
}
impl< Scalar > DerefMut for $For< Scalar >
where
Scalar : ScalarInterface,
{
fn deref_mut( &mut self ) -> &mut Self::Target
{
self.as_foreign_mut()
}
}
};
}
#[ allow( unused_imports ) ]
pub use impl_vector_deref;
}
crate::mod_interface!
{
exposed use impl_vector_deref;
}