Struct cubing::kpuzzle::KPattern

source ·
pub struct KPattern { /* private fields */ }

Implementations§

source§

impl KPattern

source

pub fn try_from_data<T>( kpuzzle: T, kpattern_data: &HashMap<KPuzzleOrbitName, KPatternOrbitData> ) -> Result<KPattern, ConversionError>
where T: Into<KPuzzle>,

source

pub fn to_data(&self) -> HashMap<KPuzzleOrbitName, KPatternOrbitData>

source

pub fn kpuzzle(&self) -> &KPuzzle

source

pub unsafe fn packed_orbit_data(&self) -> &PackedOrbitData

Safety

packed_orbit_data implementation details are not a public API and implemented using unsafe themselves.

source

pub fn try_from_json<T>( kpuzzle: T, json_bytes: &[u8] ) -> Result<KPattern, ConversionError>
where T: Into<KPuzzle>,

source

pub fn get_piece(&self, orbit: &KPuzzleOrbitInfo, i: u8) -> u8

source

pub fn get_orientation_with_mod<'a>( &self, orbit: &'a KPuzzleOrbitInfo, i: u8 ) -> &'a OrientationWithMod

source

pub unsafe fn get_orientation_with_mod_unchecked<'a>( &self, orbit: &'a KPuzzleOrbitInfo, i: u8 ) -> &'a OrientationWithMod

Safety

This version does not check whether i is in the correct range.

source

pub fn set_piece(&mut self, orbit: &KPuzzleOrbitInfo, i: u8, value: u8)

source

pub unsafe fn set_piece_unchecked( &mut self, orbit: &KPuzzleOrbitInfo, i: u8, value: u8 )

Safety

This version does not check whether i is in the correct range.

source

pub fn set_orientation_with_mod( &mut self, orbit: &KPuzzleOrbitInfo, i: u8, orientation_with_mod: &OrientationWithMod )

source

pub unsafe fn set_orientation_with_mod_unchecked( &mut self, orbit: &KPuzzleOrbitInfo, i: u8, orientation_with_mod: &OrientationWithMod )

Safety

This version does not check whether i or orientation_with_mod are in the correct ranges.

source

pub fn apply_transformation(&self, transformation: &KTransformation) -> KPattern

source

pub fn apply_transformation_into( &self, transformation: &KTransformation, into_kpattern: &mut KPattern )

source

pub fn apply_alg(&self, alg: &Alg) -> Result<KPattern, InvalidAlgError>

source

pub fn apply_move(&self, m: &Move) -> Result<KPattern, InvalidAlgError>

source

pub unsafe fn byte_slice(&self) -> &[u8]

Safety

The internal structure of bytes is not yet stable.

Trait Implementations§

source§

impl Clone for KPattern

source§

fn clone(&self) -> KPattern

Returns a copy 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 KPattern

source§

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

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

impl From<&KPattern> for KPattern

source§

fn from(value: &KPattern) -> KPattern

Converts to this type from the input type.
source§

impl From<KPattern> for KPatternBuffer

source§

fn from(initial: KPattern) -> KPatternBuffer

Converts to this type from the input type.
source§

impl Hash for KPattern

source§

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

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for KPattern

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for KPattern

source§

impl StructuralEq for KPattern

source§

impl StructuralPartialEq for KPattern

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<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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

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,

§

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>,

§

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>,

§

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.