[−][src]Type Definition moore_vhdl::ty2::IntegerSubtype
type IntegerSubtype<'t> = ScalarSubtype<'t, dyn IntegerType, BigInt>;
A subtype of an integer type.
Methods
impl<'t> IntegerSubtype<'t>
[src]
pub fn new(
mark: &'t TypeMark<'t>,
range: Range<BigInt>
) -> Option<IntegerSubtype<'t>>
[src]
mark: &'t TypeMark<'t>,
range: Range<BigInt>
) -> Option<IntegerSubtype<'t>>
Create a new integer subtype.
Returns Some(...)
if range
is a subrange of the integer, or None
otherwise.
Example
use moore_vhdl::ty2::{Type, TypeMark, IntegerBasetype, IntegerSubtype, Range}; use moore_vhdl::common::name::get_name_table; let ty = IntegerBasetype::new(Range::ascending(0usize, 255usize)); let tm = TypeMark::new( get_name_table().intern("BYTE", false), &ty, ); let a = IntegerSubtype::new(&tm, Range::ascending(0usize, 15usize)).unwrap(); let b = IntegerSubtype::new(&tm, Range::descending(15usize, 0usize)).unwrap(); assert_eq!(format!("{}", a), "BYTE range 0 to 15"); assert_eq!(format!("{}", b), "BYTE range 15 downto 0");
Trait Implementations
impl<'t> Type for IntegerSubtype<'t>
[src]
fn is_scalar(&self) -> bool
[src]
fn is_discrete(&self) -> bool
[src]
fn is_numeric(&self) -> bool
[src]
fn is_composite(&self) -> bool
[src]
fn as_any(&self) -> AnyType
[src]
fn into_owned<'a>(self) -> OwnedType<'a> where
Self: 'a,
[src]
Self: 'a,
fn to_owned<'a>(&self) -> OwnedType<'a> where
Self: 'a,
[src]
Self: 'a,