Trait llvm::Compile
[−]
[src]
pub trait Compile<'a> { fn compile(self, context: &'a Context) -> &'a Value; fn get_type(context: &'a Context) -> &'a Type; }
A type that can be represented as a constant in LLVM IR.
Required Methods
fn compile(self, context: &'a Context) -> &'a Value
Compile this value into a constant in the context given.
fn get_type(context: &'a Context) -> &'a Type
Get the type descriptor for this type in the context given.
Implementors
impl<'a> Compile<'a> for bool
impl<'a> Compile<'a> for f32
impl<'a> Compile<'a> for f64
impl<'a> Compile<'a> for char
impl<'a> Compile<'a> for *const c_char
impl<'a> Compile<'a> for *const str
impl<'a, 'b> Compile<'a> for &'b str
impl<'a, 'b> Compile<'a> for &'b [u8]
impl<'a> Compile<'a> for u8
impl<'a> Compile<'a> for i8
impl<'a> Compile<'a> for u16
impl<'a> Compile<'a> for i16
impl<'a> Compile<'a> for u32
impl<'a> Compile<'a> for i32
impl<'a> Compile<'a> for u64
impl<'a> Compile<'a> for i64
impl<'a> Compile<'a> for usize
impl<'a> Compile<'a> for isize
impl<'a> Compile<'a> for ()
impl<'a, A, B> Compile<'a> for (A, B) where A: Compile<'a>, B: Compile<'a>
impl<'a, A, B, C> Compile<'a> for (A, B, C) where A: Compile<'a>, B: Compile<'a>, C: Compile<'a>
impl<'a, A, B, C, D> Compile<'a> for (A, B, C, D) where A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>
impl<'a, A, B, C, D, E> Compile<'a> for (A, B, C, D, E) where A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>, E: Compile<'a>
impl<'a, A, B, C, D, E, F> Compile<'a> for (A, B, C, D, E, F) where A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>, E: Compile<'a>, F: Compile<'a>
impl<'a, A, B, C, D, E, F, G> Compile<'a> for (A, B, C, D, E, F, G) where A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>, E: Compile<'a>, F: Compile<'a>, G: Compile<'a>
impl<'a, T> Compile<'a> for [T; 0] where T: Copy + Compile<'a> + 'a
impl<'a, T> Compile<'a> for [T; 1] where T: Copy + Compile<'a> + 'a
impl<'a, T> Compile<'a> for [T; 2] where T: Copy + Compile<'a> + 'a
impl<'a, T> Compile<'a> for [T; 3] where T: Copy + Compile<'a> + 'a
impl<'a, T> Compile<'a> for [T; 4] where T: Copy + Compile<'a> + 'a
impl<'a, T> Compile<'a> for [T; 5] where T: Copy + Compile<'a> + 'a
impl<'a, T> Compile<'a> for [T; 6] where T: Copy + Compile<'a> + 'a
impl<'a, R> Compile<'a> for fn() -> R where R: Compile<'a>
impl<'a, R> Compile<'a> for extern fn() -> R where R: Compile<'a>
impl<'a, R, A> Compile<'a> for fn(A) -> R where R: Compile<'a>, A: Compile<'a>
impl<'a, R, A> Compile<'a> for extern fn(A) -> R where R: Compile<'a>, A: Compile<'a>
impl<'a, R, A, B> Compile<'a> for fn(A, B) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>
impl<'a, R, A, B> Compile<'a> for extern fn(A, B) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>
impl<'a, R, A, B, C> Compile<'a> for fn(A, B, C) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>, C: Compile<'a>
impl<'a, R, A, B, C> Compile<'a> for extern fn(A, B, C) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>, C: Compile<'a>
impl<'a, R, A, B, C, D> Compile<'a> for fn(A, B, C, D) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>
impl<'a, R, A, B, C, D> Compile<'a> for extern fn(A, B, C, D) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>
impl<'a, R, A, B, C, D, E> Compile<'a> for fn(A, B, C, D, E) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>, E: Compile<'a>
impl<'a, R, A, B, C, D, E> Compile<'a> for extern fn(A, B, C, D, E) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>, E: Compile<'a>
impl<'a, R, A, B, C, D, E, F> Compile<'a> for fn(A, B, C, D, E, F) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>, E: Compile<'a>, F: Compile<'a>
impl<'a, R, A, B, C, D, E, F> Compile<'a> for extern fn(A, B, C, D, E, F) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>, E: Compile<'a>, F: Compile<'a>
impl<'a, R, A, B, C, D, E, F, G> Compile<'a> for fn(A, B, C, D, E, F, G) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>, E: Compile<'a>, F: Compile<'a>, G: Compile<'a>
impl<'a, R, A, B, C, D, E, F, G> Compile<'a> for extern fn(A, B, C, D, E, F, G) -> R where R: Compile<'a>, A: Compile<'a>, B: Compile<'a>, C: Compile<'a>, D: Compile<'a>, E: Compile<'a>, F: Compile<'a>, G: Compile<'a>