Customize HashIterator Go ctor binding.

Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/a9ea5430
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/a9ea5430
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/a9ea5430

Branch: refs/heads/master
Commit: a9ea5430b823bd626ce7b1f64f7d4f92addd9511
Parents: 85743e3
Author: Marvin Humphrey <[email protected]>
Authored: Wed Aug 5 17:15:26 2015 -0700
Committer: Marvin Humphrey <[email protected]>
Committed: Thu Aug 6 19:51:32 2015 -0700

----------------------------------------------------------------------
 runtime/go/build.go               | 4 ++++
 runtime/go/clownfish/clownfish.go | 6 ++++++
 2 files changed, 10 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/a9ea5430/runtime/go/build.go
----------------------------------------------------------------------
diff --git a/runtime/go/build.go b/runtime/go/build.go
index dd6b1f3..29f02ba 100644
--- a/runtime/go/build.go
+++ b/runtime/go/build.go
@@ -158,6 +158,10 @@ func specMethods(parcel *cfc.Parcel) {
        hashBinding.SpecMethod("Keys", "Keys() []string")
        hashBinding.SetSuppressCtor(true)
        hashBinding.Register()
+
+       hashIterBinding := cfc.NewGoClass(parcel, "Clownfish::HashIterator")
+       hashIterBinding.SetSuppressCtor(true)
+       hashIterBinding.Register()
 }
 
 func prep() {

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/a9ea5430/runtime/go/clownfish/clownfish.go
----------------------------------------------------------------------
diff --git a/runtime/go/clownfish/clownfish.go 
b/runtime/go/clownfish/clownfish.go
index 4da8c82..3087cc0 100644
--- a/runtime/go/clownfish/clownfish.go
+++ b/runtime/go/clownfish/clownfish.go
@@ -146,6 +146,12 @@ func NewHash(size int) Hash {
        return WRAPHash(unsafe.Pointer(cfObj))
 }
 
+func NewHashIterator(hash Hash) HashIterator {
+       hashCF := (*C.cfish_Hash)(unsafe.Pointer(hash.TOPTR()))
+       cfObj := C.cfish_HashIter_new(hashCF)
+       return WRAPHashIterator(unsafe.Pointer(cfObj))
+}
+
 func (h *HashIMP) Keys() []string {
        self := (*C.cfish_Hash)(unsafe.Pointer(h.TOPTR()))
        keysCF := C.CFISH_Hash_Keys(self)

Reply via email to