internal Variant(int array_length, IntPtr ptr, JAM.VariantType elemType) { this.type = elemType | JAM.VariantType.Array; this.array_length = array_length; this.val.l = 0; this.val.d = 0.0; this.val.i = 0; this.val.ptr = ptr; }
internal Variant(JAM.VariantType t) { this.type = JAM.VariantType.Empty; this.array_length = 0; this.val.l = 0; this.val.d = 0.0; this.val.i = 0; this.val.ptr = IntPtr.Zero; }
internal Variant(string s) { this.type = JAM.VariantType.String; this.array_length = 0; this.val.l = 0; this.val.d = 0.0; this.val.i = 0; this.val.ptr = JAM.ToUTF8String(s); }
internal Variant(Tag t) { this.type = JAM.VariantType.Tag; this.array_length = 0; this.val.l = 0; this.val.d = 0.0; this.val.ptr = IntPtr.Zero; this.val.i = (int)t; }
internal Variant(bool b) { this.type = JAM.VariantType.Logical; this.array_length = 0; this.val.d = 0.0; this.val.i = 0; this.val.ptr = IntPtr.Zero; this.val.l = b ? ((byte)1) : ((byte)0); }
internal Variant(double d) { this.type = JAM.VariantType.Double; this.array_length = 0; this.val.l = 0; this.val.i = 0; this.val.ptr = IntPtr.Zero; this.val.d = d; }
internal Variant(int i) { this.type = JAM.VariantType.Int; this.array_length = 0; this.val.l = 0; this.val.d = 0.0; this.val.ptr = IntPtr.Zero; this.val.i = i; }