Trait gdnative::core_types::FromVariant[][src]

pub trait FromVariant {
    pub fn from_variant(variant: &Variant) -> Result<Self, FromVariantError>;
}

Types that can be converted from a Variant.

Option<T> and MaybeNot<T>

Option<T> requires the Variant to be T or Nil, in that order. For looser semantics, use MaybeNot<T>, which will catch all variant values that are not T as well.

Vec<T>

The FromVariant implementation for Vec<T> only allow homogeneous arrays. If you want to manually handle potentially heterogeneous values e.g. for error reporting, use VariantArray directly or compose with an appropriate wrapper: Vec<Option<T>> or Vec<MaybeNot<T>>.

Deriving FromVariant

The derive macro provides implementation consistent with derived ToVariant. See ToVariant for detailed documentation.

Required methods

pub fn from_variant(variant: &Variant) -> Result<Self, FromVariantError>[src]

Loading content...

Implementations on Foreign Types

impl FromVariant for String[src]

impl<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> FromVariant for (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) where
    T2: FromVariant,
    T3: FromVariant,
    T4: FromVariant,
    T5: FromVariant,
    T6: FromVariant,
    T7: FromVariant,
    T8: FromVariant,
    T9: FromVariant,
    T10: FromVariant,
    T11: FromVariant,
    T12: FromVariant
[src]

impl FromVariant for i64[src]

impl FromVariant for u8[src]

impl<T, E> FromVariant for Result<T, E> where
    E: FromVariant,
    T: FromVariant
[src]

impl<T> FromVariant for PhantomData<T>[src]

impl<T10, T11, T12> FromVariant for (T10, T11, T12) where
    T10: FromVariant,
    T11: FromVariant,
    T12: FromVariant
[src]

impl<T7, T8, T9, T10, T11, T12> FromVariant for (T7, T8, T9, T10, T11, T12) where
    T7: FromVariant,
    T8: FromVariant,
    T9: FromVariant,
    T10: FromVariant,
    T11: FromVariant,
    T12: FromVariant
[src]

impl FromVariant for i16[src]

impl<T12> FromVariant for (T12,) where
    T12: FromVariant
[src]

impl FromVariant for u32[src]

impl FromVariant for Rotation3D<f32, UnknownUnit, UnknownUnit>[src]

impl FromVariant for Vector2D<f32, UnknownUnit>[src]

impl<T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> FromVariant for (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) where
    T3: FromVariant,
    T4: FromVariant,
    T5: FromVariant,
    T6: FromVariant,
    T7: FromVariant,
    T8: FromVariant,
    T9: FromVariant,
    T10: FromVariant,
    T11: FromVariant,
    T12: FromVariant
[src]

impl<T8, T9, T10, T11, T12> FromVariant for (T8, T9, T10, T11, T12) where
    T8: FromVariant,
    T9: FromVariant,
    T10: FromVariant,
    T11: FromVariant,
    T12: FromVariant
[src]

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> FromVariant for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) where
    T1: FromVariant,
    T2: FromVariant,
    T3: FromVariant,
    T4: FromVariant,
    T5: FromVariant,
    T6: FromVariant,
    T7: FromVariant,
    T8: FromVariant,
    T9: FromVariant,
    T10: FromVariant,
    T11: FromVariant,
    T12: FromVariant
[src]

impl<T6, T7, T8, T9, T10, T11, T12> FromVariant for (T6, T7, T8, T9, T10, T11, T12) where
    T6: FromVariant,
    T7: FromVariant,
    T8: FromVariant,
    T9: FromVariant,
    T10: FromVariant,
    T11: FromVariant,
    T12: FromVariant
[src]

impl FromVariant for f32[src]

impl<T> FromVariant for Option<T> where
    T: FromVariant
[src]

impl FromVariant for Transform2D<f32, UnknownUnit, UnknownUnit>[src]

impl FromVariant for i8[src]

impl<T> FromVariant for Vec<T, Global> where
    T: FromVariant
[src]

impl FromVariant for u16[src]

impl FromVariant for u64[src]

impl<T11, T12> FromVariant for (T11, T12) where
    T11: FromVariant,
    T12: FromVariant
[src]

impl FromVariant for ()[src]

impl FromVariant for usize[src]

impl<T4, T5, T6, T7, T8, T9, T10, T11, T12> FromVariant for (T4, T5, T6, T7, T8, T9, T10, T11, T12) where
    T4: FromVariant,
    T5: FromVariant,
    T6: FromVariant,
    T7: FromVariant,
    T8: FromVariant,
    T9: FromVariant,
    T10: FromVariant,
    T11: FromVariant,
    T12: FromVariant
[src]

impl<T9, T10, T11, T12> FromVariant for (T9, T10, T11, T12) where
    T9: FromVariant,
    T10: FromVariant,
    T11: FromVariant,
    T12: FromVariant
[src]

impl FromVariant for f64[src]

impl FromVariant for Rect<f32, UnknownUnit>[src]

impl FromVariant for Vector3D<f32, UnknownUnit>[src]

impl FromVariant for isize[src]

impl FromVariant for i32[src]

impl<T5, T6, T7, T8, T9, T10, T11, T12> FromVariant for (T5, T6, T7, T8, T9, T10, T11, T12) where
    T5: FromVariant,
    T6: FromVariant,
    T7: FromVariant,
    T8: FromVariant,
    T9: FromVariant,
    T10: FromVariant,
    T11: FromVariant,
    T12: FromVariant
[src]

impl FromVariant for bool[src]

Loading content...

Implementors

impl FromVariant for Aabb[src]

impl FromVariant for Basis[src]

impl FromVariant for Color[src]

impl FromVariant for Dictionary<Shared>[src]

impl FromVariant for GodotString[src]

impl FromVariant for NodePath[src]

impl FromVariant for Plane[src]

impl FromVariant for Rid[src]

impl FromVariant for Transform[src]

impl FromVariant for Variant[src]

impl FromVariant for VariantArray<Shared>[src]

impl<T> FromVariant for MaybeNot<T> where
    T: FromVariant
[src]

impl<T> FromVariant for TypedArray<T> where
    T: Element
[src]

impl<T> FromVariant for Instance<T, Shared> where
    T: NativeClass,
    <T as NativeClass>::Base: GodotObject,
    <<T as NativeClass>::Base as GodotObject>::RefKind == RefCounted
[src]

impl<T> FromVariant for Ref<T, Shared> where
    T: GodotObject
[src]

Loading content...