Struct servo_arc::RawOffsetArc [] [src]

#[repr(C)]
pub struct RawOffsetArc<T: 'static> { /* fields omitted */ }

An Arc, except it holds a pointer to the T instead of to the entire ArcInner.

 Arc<T>    RawOffsetArc<T>
  |          |
  v          v
 ---------------------
| RefCount | T (data) | [ArcInner<T>]
 ---------------------

This means that this is a direct pointer to its contained data (and can be read from by both C++ and Rust), but we can also convert it to a "regular" Arc by removing the offset

Methods

impl<T: 'static> RawOffsetArc<T>
[src]

[src]

Temporarily converts |self| into a bonafide Arc and exposes it to the provided callback. The refcount is not modified.

[src]

If uniquely owned, provide a mutable reference Else create a copy, and mutate that

[src]

Clone it as an Arc

[src]

Produce a pointer to the data that can be converted back to an arc

Trait Implementations

impl<T: Eq + 'static> Eq for RawOffsetArc<T>
[src]

impl<T: 'static + Sync + Send> Send for RawOffsetArc<T>
[src]

impl<T: 'static + Sync + Send> Sync for RawOffsetArc<T>
[src]

impl<T: 'static> Deref for RawOffsetArc<T>
[src]

The resulting type after dereferencing.

[src]

Dereferences the value.

impl<T: 'static> Clone for RawOffsetArc<T>
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl<T: 'static> Drop for RawOffsetArc<T>
[src]

[src]

Executes the destructor for this type. Read more

impl<T: Debug + 'static> Debug for RawOffsetArc<T>
[src]

[src]

Formats the value using the given formatter.

impl<T: PartialEq> PartialEq for RawOffsetArc<T>
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

[src]

This method tests for !=.