Struct CodegenConfig

pub struct CodegenConfig(/* private field */);

A type used to indicate which kind of items we have to generate.

Implementations

impl CodegenConfig

const fn iter(&self) -> Iter<CodegenConfig>

Yield a set of contained flags values.

Each yielded flags value will correspond to a defined named flag. Any unknown bits will be yielded together as a final flags value.

const fn iter_names(&self) -> IterNames<CodegenConfig>

Yield a set of contained named flags values.

This method is like iter, except only yields bits in contained named flags. Any unknown bits, or bits not corresponding to a contained flag will not be yielded.

impl CodegenConfig

fn functions(self) -> bool

Returns true if functions should be generated.

fn types(self) -> bool

Returns true if types should be generated.

fn vars(self) -> bool

Returns true if constants should be generated.

fn methods(self) -> bool

Returns true if methods should be generated.

fn constructors(self) -> bool

Returns true if constructors should be generated.

fn destructors(self) -> bool

Returns true if destructors should be generated.

impl CodegenConfig

const fn empty() -> Self

Get a flags value with all bits unset.

const fn all() -> Self

Get a flags value with all known bits set.

const fn bits(&self) -> u32

Get the underlying bits value.

The returned value is exactly the bits set in this flags value.

const fn from_bits(bits: u32) -> Option<Self>

Convert from a bits value.

This method will return None if any unknown bits are set.

const fn from_bits_truncate(bits: u32) -> Self

Convert from a bits value, unsetting any unknown bits.

const fn from_bits_retain(bits: u32) -> Self

Convert from a bits value exactly.

fn from_name(name: &str) -> Option<Self>

Get a flags value with the bits of a flag with the given name set.

This method will return None if name is empty or doesn't correspond to any named flag.

const fn is_empty(&self) -> bool

Whether all bits in self are unset.

const fn is_all(&self) -> bool

Whether all known bits in this flags value are set.

const fn intersects(&self, other: Self) -> bool

Whether any set bits in other are also set in self.

const fn contains(&self, other: Self) -> bool

Whether all set bits in other are also set in self.

fn insert(&mut self, other: Self)

The bitwise or (|) of the bits in self and other.

fn remove(&mut self, other: Self)

The intersection of self with the complement of other (&!).

This method is not equivalent to self & !other when other has unknown bits set. remove won't truncate other, but the ! operator will.

fn toggle(&mut self, other: Self)

The bitwise exclusive-or (^) of the bits in self and other.

fn set(&mut self, other: Self, value: bool)

Call insert when value is true or remove when value is false.

const fn intersection(self, other: Self) -> Self

The bitwise and (&) of the bits in self and other.

const fn union(self, other: Self) -> Self

The bitwise or (|) of the bits in self and other.

const fn difference(self, other: Self) -> Self

The intersection of self with the complement of other (&!).

This method is not equivalent to self & !other when other has unknown bits set. difference won't truncate other, but the ! operator will.

const fn symmetric_difference(self, other: Self) -> Self

The bitwise exclusive-or (^) of the bits in self and other.

const fn complement(self) -> Self

The bitwise negation (!) of the bits in self, truncating the result.

impl CodegenConfig

const FUNCTIONS: Self = _;

Whether to generate functions.

const TYPES: Self = _;

Whether to generate types.

const VARS: Self = _;

Whether to generate constants.

const METHODS: Self = _;

Whether to generate methods.

const CONSTRUCTORS: Self = _;

Whether to generate constructors

const DESTRUCTORS: Self = _;

Whether to generate destructors.

Trait Implementations

impl Binary for CodegenConfig

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

impl BitAnd for CodegenConfig

type Output = CodegenConfig;
fn bitand(self, other: Self) -> Self

The bitwise and (&) of the bits in self and other.

impl BitAndAssign for CodegenConfig

fn bitand_assign(&mut self, other: Self)

The bitwise and (&) of the bits in self and other.

impl BitOr for CodegenConfig

type Output = CodegenConfig;
fn bitor(self, other: CodegenConfig) -> Self

The bitwise or (|) of the bits in self and other.

impl BitOrAssign for CodegenConfig

fn bitor_assign(&mut self, other: Self)

The bitwise or (|) of the bits in self and other.

impl BitXor for CodegenConfig

type Output = CodegenConfig;
fn bitxor(self, other: Self) -> Self

The bitwise exclusive-or (^) of the bits in self and other.

impl BitXorAssign for CodegenConfig

fn bitxor_assign(&mut self, other: Self)

The bitwise exclusive-or (^) of the bits in self and other.

impl Clone for CodegenConfig

fn clone(&self) -> CodegenConfig

impl Copy for CodegenConfig

impl Debug for CodegenConfig

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

impl Default for CodegenConfig

fn default() -> Self

impl Eq for CodegenConfig

impl Extend<CodegenConfig> for CodegenConfig

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

The bitwise or (|) of the bits in each flags value.

impl Flags for CodegenConfig

const FLAGS: &'static [Flag<CodegenConfig>] = _;
type Bits = u32;
fn bits(&self) -> u32
fn from_bits_retain(bits: u32) -> CodegenConfig
fn all_named() -> CodegenConfig

impl FromIterator<CodegenConfig> for CodegenConfig

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

The bitwise or (|) of the bits in each flags value.

impl Hash for CodegenConfig

fn hash<__H: Hasher>(&self, state: &mut __H)

impl IntoIterator for CodegenConfig

type Item = CodegenConfig;
type IntoIter = Iter<CodegenConfig>;
fn into_iter(self) -> Self::IntoIter

impl LowerHex for CodegenConfig

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

impl Not for CodegenConfig

type Output = CodegenConfig;
fn not(self) -> Self

The bitwise negation (!) of the bits in self, truncating the result.

impl Octal for CodegenConfig

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

impl Ord for CodegenConfig

fn cmp(&self, other: &CodegenConfig) -> Ordering

impl PartialEq for CodegenConfig

fn eq(&self, other: &CodegenConfig) -> bool

impl PartialOrd for CodegenConfig

fn partial_cmp(&self, other: &CodegenConfig) -> Option<Ordering>

impl PublicFlags for CodegenConfig

type Primitive = u32;
type Internal = InternalBitFlags;

impl StructuralPartialEq for CodegenConfig

impl Sub for CodegenConfig

type Output = CodegenConfig;
fn sub(self, other: Self) -> Self

The intersection of self with the complement of other (&!).

This method is not equivalent to self & !other when other has unknown bits set. difference won't truncate other, but the ! operator will.

impl SubAssign for CodegenConfig

fn sub_assign(&mut self, other: Self)

The intersection of self with the complement of other (&!).

This method is not equivalent to self & !other when other has unknown bits set. difference won't truncate other, but the ! operator will.

impl UpperHex for CodegenConfig

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

Auto Trait Implementations

impl Freeze for CodegenConfig

impl RefUnwindSafe for CodegenConfig

impl Send for CodegenConfig

impl Sync for CodegenConfig

impl Unpin for CodegenConfig

impl UnsafeUnpin for CodegenConfig

impl UnwindSafe for CodegenConfig

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

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

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

impl<T> From<T> for CodegenConfig

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> IntoEither for CodegenConfig

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

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

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

fn into(self) -> U

Calls U::from(self).

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

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

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

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

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