MeshLib Rust Docs
Loading...
Searching...
No Matches
meshlib::std_shared_ptr_void Struct Reference
Inheritance diagram for meshlib::std_shared_ptr_void:

Public Member Functions

void assign_from_another (other:&meshlib::std_shared_ptr_void)
auto get () const -> *mut core::ffi::c_void
auto has_value () const -> bool
auto use_count () const -> core::ffi::c_int
void reset ()
void assign_non_owning (ptr:*mut core::ffi::c_void)
void assign_aliasing (ownership:&meshlib::std_shared_ptr_const_void, ptr:*mut core::ffi::c_void)

Static Public Member Functions

static auto new () -> meshlib::Owned< meshlib::std_shared_ptr_void >
static auto construct_from_another (other:&meshlib::std_shared_ptr_void) -> meshlib::Owned< meshlib::std_shared_ptr_void >
static auto construct_non_owning (ptr:*mut core::ffi::c_void) -> meshlib::Owned< meshlib::std_shared_ptr_void >
static auto construct_aliasing (ownership:&meshlib::std_shared_ptr_const_void, ptr:*mut core::ffi::c_void) -> meshlib::Owned< meshlib::std_shared_ptr_void >
Static Public Member Functions inherited from meshlib::CppClass
static void destroy (ptr:*mut Self)
Static Public Member Functions inherited from meshlib::CppCopy
static auto copy (ptr:*const Self) -> *mut Self

Detailed Description

Wraps a pointer to a single shared reference-counted heap-allocated void.

Generated from class std::shared_ptr<void>. Heap-allocated instances are held in Owned<std_shared_ptr_void>.

Member Function Documentation

◆ assign_aliasing()

void meshlib::std_shared_ptr_void::assign_aliasing ( ownership:&meshlib::std_shared_ptr_const_void ,
ptr:*mut core::ffi::c_void  )

The aliasing assignment. Overwrite an existing instance, copying ownership from an existing shared pointer and storing an arbitrary raw pointer. The input pointer can be reinterpreted from any other std::shared_ptr<T> to avoid constructing a new std::shared_ptr<void>.

Calls MR_std_shared_ptr_void_AssignAliasing(). Some types are raw C types, see the C bindings for the details. The reference to the parameter ptr might be preserved in this object.

Note
This function is unsafe.

◆ assign_from_another()

void meshlib::std_shared_ptr_void::assign_from_another ( other:&meshlib::std_shared_ptr_void )

Assigns the contents from another instance. Both objects remain alive after the call.

Calls MR_std_shared_ptr_void_AssignFromAnother(). The reference to the parameter other might be preserved in this object.

◆ assign_non_owning()

void meshlib::std_shared_ptr_void::assign_non_owning ( ptr:*mut core::ffi::c_void )

Overwrite the existing instance with a non-owning pointer. The previously owned object, if any, has its reference count decremented.

Calls MR_std_shared_ptr_void_AssignNonOwning(). Some types are raw C types, see the C bindings for the details. The reference to the parameter ptr might be preserved in this object.

Note
This function is unsafe.

◆ construct_aliasing()

auto meshlib::std_shared_ptr_void::construct_aliasing ( ownership:&meshlib::std_shared_ptr_const_void ,
ptr:*mut core::ffi::c_void  ) -> meshlib::Owned< meshlib::std_shared_ptr_void >
static

The aliasing constructor. Create a new instance, copying ownership from an existing shared pointer and storing an arbitrary raw pointer. The input pointer can be reinterpreted from any other std::shared_ptr<T> to avoid constructing a new std::shared_ptr<void>.

Calls MR_std_shared_ptr_void_ConstructAliasing(). Some types are raw C types, see the C bindings for the details. The reference to the parameter ptr might be preserved in the constructed object.

Note
This function is unsafe.

◆ construct_from_another()

auto meshlib::std_shared_ptr_void::construct_from_another ( other:&meshlib::std_shared_ptr_void ) -> meshlib::Owned< meshlib::std_shared_ptr_void >
static

Constructs a copy of another instance. The source remains alive.

Calls MR_std_shared_ptr_void_ConstructFromAnother(). The reference to the parameter other might be preserved in the constructed object.

◆ construct_non_owning()

auto meshlib::std_shared_ptr_void::construct_non_owning ( ptr:*mut core::ffi::c_void ) -> meshlib::Owned< meshlib::std_shared_ptr_void >
static

Create a new instance, storing a non-owning pointer.

Calls MR_std_shared_ptr_void_ConstructNonOwning(). Some types are raw C types, see the C bindings for the details. The reference to the parameter ptr might be preserved in the constructed object.

Note
This function is unsafe.

◆ get()

auto meshlib::std_shared_ptr_void::get ( ) const -> *mut core::ffi::c_void

Returns the stored pointer, possibly null.

Calls MR_std_shared_ptr_void_get(). The reference to this object might be preserved as the return value.

◆ has_value()

auto meshlib::std_shared_ptr_void::has_value ( ) const -> bool

Returns true if non-null.

Calls MR_std_shared_ptr_void_has_value().

◆ new()

auto meshlib::std_shared_ptr_void::new ( ) -> meshlib::Owned< meshlib::std_shared_ptr_void >
static

Constructs an empty (default-constructed) instance.

Calls MR_std_shared_ptr_void_DefaultConstruct().

◆ reset()

void meshlib::std_shared_ptr_void::reset ( )

Resets the pointer to null.

Calls MR_std_shared_ptr_void_reset().

◆ use_count()

auto meshlib::std_shared_ptr_void::use_count ( ) const -> core::ffi::c_int

How many shared pointers share the managed object. Zero if no object is being managed. This being zero usually conincides with MR_std_shared_ptr_void_get() returning null, but is ultimately orthogonal. Note that in multithreaded environments, the only safe way to use this number is comparing it with zero. Positive values might change by the time you get to use them.

Calls MR_std_shared_ptr_void_use_count().


The documentation for this struct was generated from the following file: