pub struct Identifier<A>(/* private fields */)
where
A: Aleo;
Expand description
An identifier is an immutable UTF-8 string, represented as a constant field element in the circuit.
§Requirements
The identifier must not be an empty string. The identifier must not start with a number. The identifier must be alphanumeric, and may include underscores. The identifier must not consist solely of underscores. The identifier must fit within the data capacity of a base field element.
Implementations§
Source§impl<A> Identifier<A>where
A: Aleo,
impl<A> Identifier<A>where
A: Aleo,
Sourcepub fn size_in_bits(&self) -> Integer<A, u8>
pub fn size_in_bits(&self) -> Integer<A, u8>
Returns the number of bits of this identifier.
Trait Implementations§
Source§impl<A> Clone for Identifier<A>
impl<A> Clone for Identifier<A>
Source§fn clone(&self) -> Identifier<A>
fn clone(&self) -> Identifier<A>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<A> Debug for Identifier<A>where
A: Aleo,
impl<A> Debug for Identifier<A>where
A: Aleo,
Source§impl<A> Display for Identifier<A>where
A: Aleo,
impl<A> Display for Identifier<A>where
A: Aleo,
Source§impl<A> Eject for Identifier<A>where
A: Aleo,
impl<A> Eject for Identifier<A>where
A: Aleo,
Source§fn eject_mode(&self) -> Mode
fn eject_mode(&self) -> Mode
Ejects the mode of the identifier.
Source§fn eject_value(&self) -> <Identifier<A> as Eject>::Primitive
fn eject_value(&self) -> <Identifier<A> as Eject>::Primitive
Ejects the identifier as a string.
type Primitive = Identifier<<A as Environment>::Network>
Source§fn eject(&self) -> (Mode, Self::Primitive)
fn eject(&self) -> (Mode, Self::Primitive)
Source§fn is_constant(&self) -> bool
fn is_constant(&self) -> bool
true
if the circuit is a constant.Source§fn is_private(&self) -> bool
fn is_private(&self) -> bool
true
if the circuit is a private.Source§impl<A> Equal for Identifier<A>where
A: Aleo,
impl<A> Equal for Identifier<A>where
A: Aleo,
Source§fn is_equal(&self, other: &Identifier<A>) -> <Identifier<A> as Equal>::Output
fn is_equal(&self, other: &Identifier<A>) -> <Identifier<A> as Equal>::Output
Returns true
if self
and other
are equal.
Source§fn is_not_equal(
&self,
other: &Identifier<A>,
) -> <Identifier<A> as Equal>::Output
fn is_not_equal( &self, other: &Identifier<A>, ) -> <Identifier<A> as Equal>::Output
Returns true
if self
and other
are not equal.
type Output = Boolean<A>
Source§impl<A> From<&Identifier<A>> for LinearCombination<<A as Environment>::BaseField>where
A: Aleo,
impl<A> From<&Identifier<A>> for LinearCombination<<A as Environment>::BaseField>where
A: Aleo,
Source§fn from(
identifier: &Identifier<A>,
) -> LinearCombination<<A as Environment>::BaseField>
fn from( identifier: &Identifier<A>, ) -> LinearCombination<<A as Environment>::BaseField>
Note: Identifier is always Mode::Constant
.
Source§impl<A> From<Identifier<A>> for LinearCombination<<A as Environment>::BaseField>where
A: Aleo,
impl<A> From<Identifier<A>> for LinearCombination<<A as Environment>::BaseField>where
A: Aleo,
Source§fn from(
identifier: Identifier<A>,
) -> LinearCombination<<A as Environment>::BaseField>
fn from( identifier: Identifier<A>, ) -> LinearCombination<<A as Environment>::BaseField>
Note: Identifier is always Mode::Constant
.
Source§impl<A> FromBits for Identifier<A>where
A: Aleo,
impl<A> FromBits for Identifier<A>where
A: Aleo,
Source§fn from_bits_le(
bits_le: &[<Identifier<A> as FromBits>::Boolean],
) -> Identifier<A>
fn from_bits_le( bits_le: &[<Identifier<A> as FromBits>::Boolean], ) -> Identifier<A>
Initializes a new identifier from a list of little-endian bits.
Source§fn from_bits_be(
bits_be: &[<Identifier<A> as FromBits>::Boolean],
) -> Identifier<A>
fn from_bits_be( bits_be: &[<Identifier<A> as FromBits>::Boolean], ) -> Identifier<A>
Initializes a new identifier from a list of big-endian bits.
type Boolean = Boolean<A>
Source§impl<A> FromField for Identifier<A>where
A: Aleo,
impl<A> FromField for Identifier<A>where
A: Aleo,
Source§fn from_field(field: <Identifier<A> as FromField>::Field) -> Identifier<A>
fn from_field(field: <Identifier<A> as FromField>::Field) -> Identifier<A>
Initializes a new identifier from a field element.
type Field = Field<A>
Source§impl<A> FromStr for Identifier<A>where
A: Aleo,
impl<A> FromStr for Identifier<A>where
A: Aleo,
Source§impl<A> Hash for Identifier<A>where
A: Aleo,
impl<A> Hash for Identifier<A>where
A: Aleo,
Source§impl<A> Inject for Identifier<A>where
A: Aleo,
impl<A> Inject for Identifier<A>where
A: Aleo,
Source§fn new(
_: Mode,
identifier: <Identifier<A> as Inject>::Primitive,
) -> Identifier<A>
fn new( _: Mode, identifier: <Identifier<A> as Inject>::Primitive, ) -> Identifier<A>
Initializes a new identifier from a string.
Note: Identifiers are always Mode::Constant
.
type Primitive = Identifier<<A as Environment>::Network>
Source§impl<A> Parser for Identifier<A>where
A: Aleo,
impl<A> Parser for Identifier<A>where
A: Aleo,
Source§fn parse(string: &str) -> Result<(&str, Identifier<A>), Err<VerboseError<&str>>>
fn parse(string: &str) -> Result<(&str, Identifier<A>), Err<VerboseError<&str>>>
Parses a UTF-8 string into an identifier.
Source§impl<A> PartialEq for Identifier<A>where
A: Aleo,
impl<A> PartialEq for Identifier<A>where
A: Aleo,
Source§impl<A> ToBits for &Identifier<A>where
A: Aleo,
impl<A> ToBits for &Identifier<A>where
A: Aleo,
Source§fn write_bits_le(&self, vec: &mut Vec<<&Identifier<A> as ToBits>::Boolean>)
fn write_bits_le(&self, vec: &mut Vec<<&Identifier<A> as ToBits>::Boolean>)
Returns the little-endian bits of the identifier.
Source§fn write_bits_be(&self, vec: &mut Vec<<&Identifier<A> as ToBits>::Boolean>)
fn write_bits_be(&self, vec: &mut Vec<<&Identifier<A> as ToBits>::Boolean>)
Returns the big-endian bits of the identifier.
type Boolean = Boolean<A>
Source§fn to_bits_le(&self) -> Vec<Self::Boolean>
fn to_bits_le(&self) -> Vec<Self::Boolean>
Source§fn to_bits_be(&self) -> Vec<Self::Boolean>
fn to_bits_be(&self) -> Vec<Self::Boolean>
Source§impl<A> ToBits for Identifier<A>where
A: Aleo,
impl<A> ToBits for Identifier<A>where
A: Aleo,
Source§fn write_bits_le(&self, vec: &mut Vec<<Identifier<A> as ToBits>::Boolean>)
fn write_bits_le(&self, vec: &mut Vec<<Identifier<A> as ToBits>::Boolean>)
Returns the little-endian bits of the identifier.
Source§fn write_bits_be(&self, vec: &mut Vec<<Identifier<A> as ToBits>::Boolean>)
fn write_bits_be(&self, vec: &mut Vec<<Identifier<A> as ToBits>::Boolean>)
Returns the big-endian bits of the identifier.
type Boolean = Boolean<A>
Source§fn to_bits_le(&self) -> Vec<Self::Boolean>
fn to_bits_le(&self) -> Vec<Self::Boolean>
Source§fn to_bits_be(&self) -> Vec<Self::Boolean>
fn to_bits_be(&self) -> Vec<Self::Boolean>
Source§impl<A> ToField for Identifier<A>where
A: Aleo,
impl<A> ToField for Identifier<A>where
A: Aleo,
impl<A> Eq for Identifier<A>where
A: Aleo,
Auto Trait Implementations§
impl<A> !Freeze for Identifier<A>
impl<A> RefUnwindSafe for Identifier<A>
impl<A> Send for Identifier<A>
impl<A> !Sync for Identifier<A>
impl<A> Unpin for Identifier<A>
impl<A> UnwindSafe for Identifier<A>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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>
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>
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