1 /** 2 Steps through items in a given input. 3 4 Copyright: 5 Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. 6 Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) 7 Copyright (c) 2017-2018 Godot-D contributors 8 9 License: $(LINK2 https://opensource.org/licenses/MIT, MIT License) 10 11 12 */ 13 module godot.visualscriptiterator; 14 import std.meta : AliasSeq, staticIndexOf; 15 import std.traits : Unqual; 16 import godot.d.meta; 17 import godot.core; 18 import godot.c; 19 import godot.d.bind; 20 import godot.d.reference; 21 import godot.object; 22 import godot.classdb; 23 import godot.visualscriptnode; 24 import godot.resource; 25 import godot.reference; 26 /** 27 Steps through items in a given input. 28 29 This node steps through each item in a given input. Input can be any sequence data type, such as an $(D Array) or $(D String). When each item has been processed, execution passed out the `exit` Sequence port. 30 $(B Input Ports:) 31 - Sequence: `for (elem) in (input)` 32 - Data (variant): `input` 33 $(B Output Ports:) 34 - Sequence: `each` 35 - Sequence: `exit` 36 - Data (variant): `elem` 37 */ 38 @GodotBaseClass struct VisualScriptIterator 39 { 40 enum string _GODOT_internal_name = "VisualScriptIterator"; 41 public: 42 @nogc nothrow: 43 union { godot_object _godot_object; VisualScriptNode _GODOT_base; } 44 alias _GODOT_base this; 45 alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses); 46 package(godot) __gshared bool _classBindingInitialized = false; 47 package(godot) static struct _classBinding 48 { 49 __gshared: 50 } 51 bool opEquals(in VisualScriptIterator other) const { return _godot_object.ptr is other._godot_object.ptr; } 52 VisualScriptIterator opAssign(T : typeof(null))(T n) { _godot_object.ptr = null; } 53 bool opEquals(typeof(null) n) const { return _godot_object.ptr is null; } 54 mixin baseCasts; 55 static VisualScriptIterator _new() 56 { 57 static godot_class_constructor constructor; 58 if(constructor is null) constructor = _godot_api.godot_get_class_constructor("VisualScriptIterator"); 59 if(constructor is null) return typeof(this).init; 60 return cast(VisualScriptIterator)(constructor()); 61 } 62 @disable new(size_t s); 63 }