pairing_plus

Trait EncodedPoint

Source
pub trait EncodedPoint:
    Sized
    + Send
    + Sync
    + AsRef<[u8]>
    + AsMut<[u8]>
    + Clone
    + Copy
    + 'static {
    type Affine: CurveAffine;

    // Required methods
    fn empty() -> Self;
    fn size() -> usize;
    fn into_affine(&self) -> Result<Self::Affine, GroupDecodingError>;
    fn into_affine_unchecked(&self) -> Result<Self::Affine, GroupDecodingError>;
    fn from_affine(affine: Self::Affine) -> Self;
}
Expand description

An encoded elliptic curve point, which should essentially wrap a [u8; N].

Required Associated Types§

Required Methods§

Source

fn empty() -> Self

Creates an empty representation.

Source

fn size() -> usize

Returns the number of bytes consumed by this representation.

Source

fn into_affine(&self) -> Result<Self::Affine, GroupDecodingError>

Converts an EncodedPoint into a CurveAffine element, if the encoding represents a valid element.

Source

fn into_affine_unchecked(&self) -> Result<Self::Affine, GroupDecodingError>

Converts an EncodedPoint into a CurveAffine element, without guaranteeing that the encoding represents a valid element. This is useful when the caller knows the encoding is valid already.

If the encoding is invalid, this can break API invariants, so caution is strongly encouraged.

Source

fn from_affine(affine: Self::Affine) -> Self

Creates an EncodedPoint from an affine point, as long as the point is not the point at infinity.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§