summaryrefslogtreecommitdiff
path: root/src/nslcd_proto/util/enumerator@T.got
diff options
context:
space:
mode:
Diffstat (limited to 'src/nslcd_proto/util/enumerator@T.got')
-rw-r--r--src/nslcd_proto/util/enumerator@T.got40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/nslcd_proto/util/enumerator@T.got b/src/nslcd_proto/util/enumerator@T.got
new file mode 100644
index 0000000..e1dd2ae
--- /dev/null
+++ b/src/nslcd_proto/util/enumerator@T.got
@@ -0,0 +1,40 @@
+package util
+
+import "nslcd_proto"
+
+type <T>_List struct {
+ dat []nslcd_proto.<T>
+ i int
+}
+
+var _ nslcd_proto.<T>_Enumerator = &<T>_List{}
+
+func New_<T>_List(ary []nslcd_proto.<T>) *<T>_List {
+ return &<T>_List{ary, 0}
+}
+
+func (o *<T>_List) GetNext() (n *nslcd_proto.<T>, err error) {
+ if o.i < len(o.dat) {
+ n = &o.dat[o.i]
+ o.i++
+ }
+ err = nil
+ return
+}
+
+func (o *<T>_List) GenericGetNext() (n interface{}, err error) {
+ return o.GetNext()
+}
+
+type <T>_Ø struct{}
+
+var _ nslcd_proto.<T>_Enumerator = <T>_Ø{}
+
+func (o <T>_Ø) GetNext() (*nslcd_proto.<T>, error) {
+ return nil, nil
+}
+func (o <T>_Ø) GenericGetNext() (interface{}, error) {
+ return nil, nil
+}
+
+// -*- Mode: Go -*-