NameBuilder

Struct NameBuilder 

Source
pub struct NameBuilder { /* private fields */ }
Expand description

Builder type to construct a Name.

Implementations§

Source§

impl NameBuilder

Source

pub fn new(id: Arc<AtomicUsize>) -> Self

Create a new NameBuilder instance.

The passed id is used to generate unique ids for unnamed types.

Source

pub fn finish(self) -> Name

Finish the builder and create the Name instance.

Source

pub fn with_id(self, value: bool) -> Self

Wether to add a unique id to the generated name or not.

Source

pub fn generate_id(self) -> Self

Generate the id for the name.

This can be useful if you want to clone the builder to generate multiple names with the same id. For example for a field name and corresponding field type.

Source

pub fn unique_name<T>(self, value: T) -> Self
where T: Display,

Set a unique name.

This will automatically set with_id to false.

Source

pub fn shared_name<T>(self, value: T) -> Self
where T: Display,

Set a shared name.

This will automatically set with_id to true.

Source

pub fn or<T>(self, fallback: T) -> Self
where T: NameFallback,

Uses the name that is already stored in the builder, or the passed fallback value if the name was not set yet.

Source

pub fn or_else<F, T>(self, fallback: F) -> Self
where F: FnOnce() -> T, T: NameFallback,

Uses the name that is already stored in the builder, or the value that is returned by the passed fallback closure if the name was not set yet.

Source

pub fn extend<I>(self, replace: bool, iter: I) -> Self
where I: IntoIterator, I::Item: Display,

Add a extension to the name.

Extensions are added as to the generated name as prefix.

Source

pub fn remove_suffix(self, suffix: &str) -> Self

Remove the specified suffix from the name and the extension.

Source

pub fn has_extension(&self) -> bool

Returns true if a extension was specified, false otherwise.

Trait Implementations§

Source§

impl Clone for NameBuilder

Source§

fn clone(&self) -> NameBuilder

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for NameBuilder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl NameFallback for NameBuilder

Source§

fn apply(self, builder: &mut NameBuilder)

Create the fallback value.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<X> AsAny for X
where X: 'static,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Get a reference to the current object as Any.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Get a mutable reference to the current object as Any.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,