use crate::ffi::version::api;
use crate::ffi::{CBaseFn, FnId};
use crate::fn_caster::FnCaster;
#[derive(Debug)]
pub struct NewShortCaster {}
#[derive(Debug)]
pub struct NewLongCaster {}
#[derive(Debug)]
pub struct NewFullCaster {}
#[derive(Debug)]
pub struct FromStringCaster {}
#[derive(Debug)]
pub struct StringLengthShortCaster {}
#[derive(Debug)]
pub struct StringLengthLongCaster {}
#[derive(Debug)]
pub struct StringLengthFullCaster {}
#[derive(Debug)]
pub struct AsStringShortCaster {}
#[derive(Debug)]
pub struct AsStringLongCaster {}
#[derive(Debug)]
pub struct AsStringFullCaster {}
#[derive(Debug)]
pub struct StringIsValidCaster {}
#[derive(Debug)]
pub struct CompareCaster {}
#[derive(Debug)]
pub struct CompareWeakCaster {}
#[derive(Debug)]
pub struct CompareStrongCaster {}
#[derive(Debug)]
pub struct IsCompatibleCaster {}
transmute_caster!(NewShortCaster, api::NewShortFn, FnId::VersionNewShort);
transmute_caster!(NewLongCaster, api::NewLongFn, FnId::VersionNewLong);
transmute_caster!(NewFullCaster, api::NewFullFn, FnId::VersionNewFull);
transmute_caster!(FromStringCaster, api::FromStringFn, FnId::VersionFromString);
transmute_caster!(
StringLengthShortCaster,
api::StringLengthShortFn,
FnId::VersionStringLengthShort
);
transmute_caster!(
StringLengthLongCaster,
api::StringLengthLongFn,
FnId::VersionStringLengthLong
);
transmute_caster!(
StringLengthFullCaster,
api::StringLengthFullFn,
FnId::VersionStringLengthFull
);
transmute_caster!(
AsStringShortCaster,
api::AsStringShortFn,
FnId::VersionAsStringShort
);
transmute_caster!(
AsStringLongCaster,
api::AsStringLongFn,
FnId::VersionAsStringLong
);
transmute_caster!(
AsStringFullCaster,
api::AsStringFullFn,
FnId::VersionAsStringFull
);
transmute_caster!(
StringIsValidCaster,
api::StringIsValidFn,
FnId::VersionStringIsValid
);
transmute_caster!(CompareCaster, api::CompareFn, FnId::VersionCompare);
transmute_caster!(
CompareWeakCaster,
api::CompareWeakFn,
FnId::VersionCompareWeak
);
transmute_caster!(
CompareStrongCaster,
api::CompareStrongFn,
FnId::VersionCompareStrong
);
transmute_caster!(
IsCompatibleCaster,
api::IsCompatibleFn,
FnId::VersionIsCompatible
);