static void SetVTable()
        {
            var vt = new SwiftIteratorProtocolVtable();

            vt.func0 = NextFuncReceiver;
            IteratorProtocolPinvokes.SetVtable(ref vt, StructMarshal.Marshaler.Metatypeof(typeof(T)));
        }
 public SwiftIteratorProtocolProxy(IIteratorProtocol <T> proxiedType)
 {
     this.proxiedType = proxiedType;
     SwiftObject      = IteratorProtocolPinvokes.NewIteratorProtocol(StructMarshal.Marshaler.Metatypeof(typeof(T)));
     SwiftCore.Retain(SwiftObject);
     SwiftObjectRegistry.Registry.Add(this);
 }
 public static SwiftMetatype GetSwiftMetatype()
 {
     return(IteratorProtocolPinvokes.IteratorProtocolMetadataAccessor(SwiftMetadataRequest.Complete, StructMarshal.Marshaler.Metatypeof(typeof(T))));
 }