Struct qsym2::group::UnitaryRepresentedGroup
source · pub struct UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>where
T: Mul<Output = T> + Inv<Output = T> + Hash + Eq + Clone + Sync + Debug + FiniteOrder,
RowSymbol: LinearSpaceSymbol,
ColSymbol: CollectionSymbol<CollectionElement = T>,{ /* private fields */ }
Expand description
Structure for managing groups with unitary representations.
Implementations§
source§impl<T, RowSymbol, ColSymbol> UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>where
T: Mul<Output = T> + Inv<Output = T> + Hash + Eq + Clone + Sync + Debug + FiniteOrder,
for<'a, 'b> &'b T: Mul<&'a T, Output = T>,
RowSymbol: LinearSpaceSymbol,
ColSymbol: CollectionSymbol<CollectionElement = T>,
impl<T, RowSymbol, ColSymbol> UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>where
T: Mul<Output = T> + Inv<Output = T> + Hash + Eq + Clone + Sync + Debug + FiniteOrder,
for<'a, 'b> &'b T: Mul<&'a T, Output = T>,
RowSymbol: LinearSpaceSymbol,
ColSymbol: CollectionSymbol<CollectionElement = T>,
Trait Implementations§
source§impl<T, RowSymbol, ColSymbol> CharacterProperties for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>
impl<T, RowSymbol, ColSymbol> CharacterProperties for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>
§type CharTab = RepCharacterTable<RowSymbol, ColSymbol>
type CharTab = RepCharacterTable<RowSymbol, ColSymbol>
Type of the associated character table whose row-labelling symbol type is constrained to be
the same as
Self::RowSymbol
.source§fn character_table(&self) -> &Self::CharTab
fn character_table(&self) -> &Self::CharTab
Returns a shared reference to the character table of this group.
source§fn unitary_represented(&self) -> bool
fn unitary_represented(&self) -> bool
Returns a boolean indicating if this character table contains irreducible representations
of a unitary-represented group. Read more
source§impl<T, RowSymbol, ColSymbol> ClassProperties for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>where
T: Mul<Output = T> + Inv<Output = T> + Hash + Eq + Clone + Sync + Debug + FiniteOrder,
for<'a, 'b> &'b T: Mul<&'a T, Output = T>,
<Self as GroupProperties>::GroupElement: Inv,
RowSymbol: LinearSpaceSymbol,
ColSymbol: CollectionSymbol<CollectionElement = T>,
impl<T, RowSymbol, ColSymbol> ClassProperties for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>where
T: Mul<Output = T> + Inv<Output = T> + Hash + Eq + Clone + Sync + Debug + FiniteOrder,
for<'a, 'b> &'b T: Mul<&'a T, Output = T>,
<Self as GroupProperties>::GroupElement: Inv,
RowSymbol: LinearSpaceSymbol,
ColSymbol: CollectionSymbol<CollectionElement = T>,
source§fn compute_class_structure(&mut self) -> Result<(), Error>
fn compute_class_structure(&mut self) -> Result<(), Error>
Compute the class structure of this unitary-represented group that is induced by the following equivalence relation:
g \sim h \Leftrightarrow \exists u : h = u g u^{-1}.
§type ClassSymbol = ColSymbol
type ClassSymbol = ColSymbol
The type of class symbols.
source§fn get_cc_index(&self, cc_idx: usize) -> Option<&HashSet<usize>>
fn get_cc_index(&self, cc_idx: usize) -> Option<&HashSet<usize>>
Given a class index, returns an optional shared reference to the set containing the indices
of all elements in that class. Read more
source§fn get_cc_of_element_index(&self, e_idx: usize) -> Option<usize>
fn get_cc_of_element_index(&self, e_idx: usize) -> Option<usize>
Given an element index, returns an optional index of the conjugacy class to which the
element belongs. Read more
source§fn get_cc_transversal(&self, cc_idx: usize) -> Option<Self::GroupElement>
fn get_cc_transversal(&self, cc_idx: usize) -> Option<Self::GroupElement>
Given a class index, returns an optional representative element of that conjugacy class. Read more
source§fn get_index_of_cc_symbol(&self, cc_sym: &Self::ClassSymbol) -> Option<usize>
fn get_index_of_cc_symbol(&self, cc_sym: &Self::ClassSymbol) -> Option<usize>
Given a conjugacy class symbol, returns the index of the corresponding conjugacy class. Read more
source§fn get_cc_symbol_of_index(&self, cc_idx: usize) -> Option<Self::ClassSymbol>
fn get_cc_symbol_of_index(&self, cc_idx: usize) -> Option<Self::ClassSymbol>
Given a class index, returns its conjugacy class symbol, if any. Read more
source§fn filter_cc_symbols<P: FnMut(&Self::ClassSymbol) -> bool>(
&self,
predicate: P,
) -> Vec<Self::ClassSymbol>
fn filter_cc_symbols<P: FnMut(&Self::ClassSymbol) -> bool>( &self, predicate: P, ) -> Vec<Self::ClassSymbol>
Given a predicate, returns conjugacy class symbols satisfying it. Read more
source§fn set_class_symbols(&mut self, cc_symbols: &[Self::ClassSymbol])
fn set_class_symbols(&mut self, cc_symbols: &[Self::ClassSymbol])
Sets the conjugacy class symbols for this group. Read more
source§fn get_inverse_cc(&self, cc_idx: usize) -> Option<usize>
fn get_inverse_cc(&self, cc_idx: usize) -> Option<usize>
Given a class index, returns an index for its inverse. Read more
source§fn class_number(&self) -> usize
fn class_number(&self) -> usize
Returns the number of conjugacy classes in the group.
source§impl<T, RowSymbol, ColSymbol> Clone for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>where
T: Mul<Output = T> + Inv<Output = T> + Hash + Eq + Clone + Sync + Debug + FiniteOrder + Clone,
RowSymbol: LinearSpaceSymbol + Clone,
ColSymbol: CollectionSymbol<CollectionElement = T> + Clone,
impl<T, RowSymbol, ColSymbol> Clone for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>where
T: Mul<Output = T> + Inv<Output = T> + Hash + Eq + Clone + Sync + Debug + FiniteOrder + Clone,
RowSymbol: LinearSpaceSymbol + Clone,
ColSymbol: CollectionSymbol<CollectionElement = T> + Clone,
source§fn clone(&self) -> UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>
fn clone(&self) -> UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<'de, T, RowSymbol, ColSymbol> Deserialize<'de> for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>where
T: Mul<Output = T> + Inv<Output = T> + Hash + Eq + Clone + Sync + Debug + FiniteOrder + Deserialize<'de>,
RowSymbol: LinearSpaceSymbol + Deserialize<'de>,
ColSymbol: CollectionSymbol<CollectionElement = T> + Deserialize<'de>,
impl<'de, T, RowSymbol, ColSymbol> Deserialize<'de> for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>where
T: Mul<Output = T> + Inv<Output = T> + Hash + Eq + Clone + Sync + Debug + FiniteOrder + Deserialize<'de>,
RowSymbol: LinearSpaceSymbol + Deserialize<'de>,
ColSymbol: CollectionSymbol<CollectionElement = T> + Deserialize<'de>,
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<T, RowSymbol, ColSymbol> GroupProperties for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>where
T: Mul<Output = T> + Inv<Output = T> + Hash + Eq + Clone + Sync + Debug + FiniteOrder,
for<'a, 'b> &'b T: Mul<&'a T, Output = T>,
RowSymbol: LinearSpaceSymbol,
ColSymbol: CollectionSymbol<CollectionElement = T>,
impl<T, RowSymbol, ColSymbol> GroupProperties for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>where
T: Mul<Output = T> + Inv<Output = T> + Hash + Eq + Clone + Sync + Debug + FiniteOrder,
for<'a, 'b> &'b T: Mul<&'a T, Output = T>,
RowSymbol: LinearSpaceSymbol,
ColSymbol: CollectionSymbol<CollectionElement = T>,
§type GroupElement = T
type GroupElement = T
The type of the elements in the group.
type ElementCollection = IndexSet<<UnitaryRepresentedGroup<T, RowSymbol, ColSymbol> as GroupProperties>::GroupElement>
source§fn finite_subgroup_name(&self) -> Option<&String>
fn finite_subgroup_name(&self) -> Option<&String>
Returns the finite subgroup name of this group, if any.
source§fn get_index(&self, index: usize) -> Option<Self::GroupElement>
fn get_index(&self, index: usize) -> Option<Self::GroupElement>
Given an index, returns the element associated with it, or
None
if the index is out of
range.source§fn get_index_of(&self, g: &Self::GroupElement) -> Option<usize>
fn get_index_of(&self, g: &Self::GroupElement) -> Option<usize>
Given an element, returns its index in the group, or
None
if the element does not exist
in the group.source§fn contains(&self, g: &Self::GroupElement) -> bool
fn contains(&self, g: &Self::GroupElement) -> bool
Checks if an element is a member of the group.
source§fn elements(&self) -> &Self::ElementCollection
fn elements(&self) -> &Self::ElementCollection
Returns an iterable collection of the elements in the group.
source§fn is_abelian(&self) -> bool
fn is_abelian(&self) -> bool
Checks if this group is abelian.
source§impl<T, RowSymbol, ColSymbol> IrrepCharTabConstruction for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>
impl<T, RowSymbol, ColSymbol> IrrepCharTabConstruction for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>
source§fn set_irrep_character_table(&mut self, chartab: Self::CharTab)
fn set_irrep_character_table(&mut self, chartab: Self::CharTab)
Sets the irrep character table internally.
source§fn construct_irrep_character_table(&mut self)
fn construct_irrep_character_table(&mut self)
Constructs the irrep character table for this group using the Burnside–Dixon algorithm
with Schneider optimisation. Read more
source§impl<O, I, D> ProjectionDecomposition<UnitaryRepresentedGroup<SymmetryOperation, MullikenIrrepSymbol, SymmetryClassSymbol<SymmetryOperation>>, I, Complex<f64>, D> for O
impl<O, I, D> ProjectionDecomposition<UnitaryRepresentedGroup<SymmetryOperation, MullikenIrrepSymbol, SymmetryClassSymbol<SymmetryOperation>>, I, Complex<f64>, D> for O
source§fn calc_projection_compositions(
&self,
) -> Result<Vec<(<<G as CharacterProperties>::CharTab as CharacterTable>::RowSymbol, Complex<f64>)>, Error>
fn calc_projection_compositions( &self, ) -> Result<Vec<(<<G as CharacterProperties>::CharTab as CharacterTable>::RowSymbol, Complex<f64>)>, Error>
Calculates the irreducible compositions of the origin $
\mathbf{v}
$ of the orbit using the
projection operator: Read moresource§fn projections_to_string(
&self,
projections: &[(<<G as CharacterProperties>::CharTab as CharacterTable>::RowSymbol, Complex<f64>)],
integrality_threshold: <T as ComplexFloat>::Real,
) -> String
fn projections_to_string( &self, projections: &[(<<G as CharacterProperties>::CharTab as CharacterTable>::RowSymbol, Complex<f64>)], integrality_threshold: <T as ComplexFloat>::Real, ) -> String
Converts a slice of tuples of irreducible row symbols and projection values to a nicely
formatted table. Read more
source§impl<O, I, D> ProjectionDecomposition<UnitaryRepresentedGroup<SymmetryOperation, MullikenIrrepSymbol, SymmetryClassSymbol<SymmetryOperation>>, I, f64, D> for O
impl<O, I, D> ProjectionDecomposition<UnitaryRepresentedGroup<SymmetryOperation, MullikenIrrepSymbol, SymmetryClassSymbol<SymmetryOperation>>, I, f64, D> for O
source§fn calc_projection_compositions(
&self,
) -> Result<Vec<(<<G as CharacterProperties>::CharTab as CharacterTable>::RowSymbol, Complex<f64>)>, Error>
fn calc_projection_compositions( &self, ) -> Result<Vec<(<<G as CharacterProperties>::CharTab as CharacterTable>::RowSymbol, Complex<f64>)>, Error>
Calculates the irreducible compositions of the origin $
\mathbf{v}
$ of the orbit using the
projection operator: Read moresource§fn projections_to_string(
&self,
projections: &[(<<G as CharacterProperties>::CharTab as CharacterTable>::RowSymbol, Complex<f64>)],
integrality_threshold: <T as ComplexFloat>::Real,
) -> String
fn projections_to_string( &self, projections: &[(<<G as CharacterProperties>::CharTab as CharacterTable>::RowSymbol, Complex<f64>)], integrality_threshold: <T as ComplexFloat>::Real, ) -> String
Converts a slice of tuples of irreducible row symbols and projection values to a nicely
formatted table. Read more
source§impl<T, RowSymbol, ColSymbol> Serialize for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>where
T: Mul<Output = T> + Inv<Output = T> + Hash + Eq + Clone + Sync + Debug + FiniteOrder + Serialize,
RowSymbol: LinearSpaceSymbol + Serialize,
ColSymbol: CollectionSymbol<CollectionElement = T> + Serialize,
impl<T, RowSymbol, ColSymbol> Serialize for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>where
T: Mul<Output = T> + Inv<Output = T> + Hash + Eq + Clone + Sync + Debug + FiniteOrder + Serialize,
RowSymbol: LinearSpaceSymbol + Serialize,
ColSymbol: CollectionSymbol<CollectionElement = T> + Serialize,
source§impl SymmetryGroupProperties for UnitaryRepresentedGroup<SymmetryOperation, MullikenIrrepSymbol, SymmetryClassSymbol<SymmetryOperation>>
impl SymmetryGroupProperties for UnitaryRepresentedGroup<SymmetryOperation, MullikenIrrepSymbol, SymmetryClassSymbol<SymmetryOperation>>
source§fn from_molecular_symmetry(
sym: &Symmetry,
infinite_order_to_finite: Option<u32>,
) -> Result<Self, Error>
fn from_molecular_symmetry( sym: &Symmetry, infinite_order_to_finite: Option<u32>, ) -> Result<Self, Error>
Constructs a unitary-represented group from molecular symmetry elements (not operations).
§Arguments
sym
- A molecular symmetry struct.infinite_order_to_finite
- Interpret infinite-order generating elements as finite-order generating elements to create a finite subgroup of an otherwise infinite group.
§Returns
A unitary-represented group of the symmetry operations generated by sym
.
source§fn to_double_group(&self) -> Result<Self, Error>
fn to_double_group(&self) -> Result<Self, Error>
Constructs the double group of this unitary-represented group.
§Returns
The unitary-represented double group.
source§fn canonicalise_character_table(&mut self)
fn canonicalise_character_table(&mut self)
Reorders and relabels the rows and columns of the constructed character table using Mulliken conventions for the irreducible representations.
source§fn deduce_finite_group_name(&mut self) -> String
fn deduce_finite_group_name(&mut self) -> String
Deduces the group name in Schönflies notation of a finite subgroup of an infinite molecular
symmetry group.
source§fn all_unitary(&self) -> bool
fn all_unitary(&self) -> bool
Returns
true
if all elements in this group are unitary.source§fn is_double_group(&self) -> bool
fn is_double_group(&self) -> bool
Returns
true
if all elements in this group are in $\mathsf{SU}'(2)
$ or false
if they
are all in $\mathsf{O}(3)
$. Read moresource§fn group_type(&self) -> GroupType
fn group_type(&self) -> GroupType
Determines whether this group is an ordinary (double) group, a magnetic grey (double)
group, or a magnetic black-and-white (double) group.
source§fn class_symbols_from_symmetry(
&mut self,
) -> Vec<SymmetryClassSymbol<SymmetryOperation>>
fn class_symbols_from_symmetry( &mut self, ) -> Vec<SymmetryClassSymbol<SymmetryOperation>>
Returns the conjugacy class symbols in this group based on molecular symmetry.
Auto Trait Implementations§
impl<T, RowSymbol, ColSymbol> Freeze for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>
impl<T, RowSymbol, ColSymbol> RefUnwindSafe for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>
impl<T, RowSymbol, ColSymbol> Send for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>
impl<T, RowSymbol, ColSymbol> Sync for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>
impl<T, RowSymbol, ColSymbol> Unpin for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>
impl<T, RowSymbol, ColSymbol> UnwindSafe for UnitaryRepresentedGroup<T, RowSymbol, ColSymbol>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref()
only in debug builds, and is erased in release
builds.