本文整理汇总了Golang中github.com/glycerine/go-capnproto.PointerList函数的典型用法代码示例。如果您正苦于以下问题:Golang PointerList函数的具体用法?Golang PointerList怎么用?Golang PointerList使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了PointerList函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: zdateFilledSegment
func zdateFilledSegment(n int, packed bool) (*capn.Segment, []byte) {
seg := capn.NewBuffer(nil)
z := air.NewRootZ(seg)
list := air.NewZdateList(seg, n)
// hand added a Set() method to messages_test.go, so plist not needed
plist := capn.PointerList(list)
for i := 0; i < n; i++ {
d := air.NewZdate(seg)
d.SetMonth(12)
d.SetDay(7)
d.SetYear(int16(2004 + i))
plist.Set(i, capn.Object(d))
//list.Set(i, d)
}
z.SetZdatevec(list)
buf := bytes.Buffer{}
if packed {
seg.WriteToPacked(&buf)
} else {
seg.WriteTo(&buf)
}
return seg, buf.Bytes()
}
示例2: TestV0ListofEmptyShouldMatchCapnp
func TestV0ListofEmptyShouldMatchCapnp(t *testing.T) {
exp := CapnpEncode("(mylist = [(),()])", "HoldsVerEmptyList")
cv.Convey("Given an empty struct with 0 data/0 ptr fields", t, func() {
cv.Convey("then a list of 2 empty structs should match the capnp representation", func() {
seg := capn.NewBuffer(nil)
scratch := capn.NewBuffer(nil)
holder := air.NewRootHoldsVerEmptyList(seg)
ShowSeg(" after NewRootHoldsVerEmptyList(seg), segment seg is:", seg)
elist := air.NewVerEmptyList(seg, 2)
plist := capn.PointerList(elist)
ShowSeg(" pre NewVerEmpty(scratch), segment seg is:", seg)
e0 := air.NewVerEmpty(scratch)
e1 := air.NewVerEmpty(scratch)
plist.Set(0, capn.Object(e0))
plist.Set(1, capn.Object(e1))
ShowSeg(" pre SetMylist, segment seg is:", seg)
fmt.Printf("Then we do the SetMylist():\n")
holder.SetMylist(elist)
// save
buf := bytes.Buffer{}
seg.WriteTo(&buf)
act := buf.Bytes()
save(act, "my.act.holder.elist")
// show
ShowSeg(" actual:\n", seg)
fmt.Printf("act decoded by capnp: '%s'\n", string(CapnpDecode(act, "HoldsVerEmptyList")))
fmt.Printf("expected:\n")
ShowBytes(exp, 10)
fmt.Printf("exp decoded by capnp: '%s'\n", string(CapnpDecode(exp, "HoldsVerEmptyList")))
cv.So(act, cv.ShouldResemble, exp)
})
})
}
示例3: TestZserverWithOneEmptyJob
func TestZserverWithOneEmptyJob(t *testing.T) {
exp := CapnpEncode(`(waitingjobs = [()])`, "Zserver")
cv.Convey("Given an Zserver with one empty job", t, func() {
cv.Convey("then the go-capnproto serialization should match the capnp c++ serialization", func() {
seg := capn.NewBuffer(nil)
scratch := capn.NewBuffer(nil)
server := air.NewRootZserver(seg)
joblist := air.NewZjobList(seg, 1)
plist := capn.PointerList(joblist)
ShowSeg(" pre NewZjob, segment seg is:", seg)
zjob := air.NewZjob(scratch)
plist.Set(0, capn.Object(zjob))
ShowSeg(" pre SetWaitingjobs, segment seg is:", seg)
fmt.Printf("Then we do the SetWaitingjobs:\n")
server.SetWaitingjobs(joblist)
// save
buf := bytes.Buffer{}
seg.WriteTo(&buf)
act := buf.Bytes()
save(act, "my.act.zserver")
// show
ShowSeg(" actual:\n", seg)
fmt.Printf("act decoded by capnp: '%s'\n", string(CapnpDecode(act, "Zserver")))
fmt.Printf("expected:\n")
ShowBytes(exp, 10)
fmt.Printf("exp decoded by capnp: '%s'\n", string(CapnpDecode(exp, "Zserver")))
cv.So(act, cv.ShouldResemble, exp)
})
})
}
示例4: TestZserverWithOneFullJob
func TestZserverWithOneFullJob(t *testing.T) {
exp := CapnpEncode(`(waitingjobs = [(cmd = "abc", args = ["xyz"])])`, "Zserver")
cv.Convey("Given an Zserver with one empty job", t, func() {
cv.Convey("then the go-capnproto serialization should match the capnp c++ serialization", func() {
seg := capn.NewBuffer(nil)
scratch := capn.NewBuffer(nil)
server := air.NewRootZserver(seg)
joblist := air.NewZjobList(seg, 1)
plist := capn.PointerList(joblist)
zjob := air.NewZjob(scratch)
zjob.SetCmd("abc")
tl := scratch.NewTextList(1)
tl.Set(0, "xyz")
zjob.SetArgs(tl)
plist.Set(0, capn.Object(zjob))
server.SetWaitingjobs(joblist)
buf := bytes.Buffer{}
seg.WriteTo(&buf)
act := buf.Bytes()
fmt.Printf(" actual:\n")
ShowBytes(act, 10)
fmt.Printf("act decoded by capnp: '%s'\n", string(CapnpDecode(act, "Zserver")))
save(act, "myact")
fmt.Printf("expected:\n")
ShowBytes(exp, 10)
fmt.Printf("exp decoded by capnp: '%s'\n", string(CapnpDecode(exp, "Zserver")))
save(exp, "myexp")
cv.So(act, cv.ShouldResemble, exp)
})
})
}
示例5: ToArray
func (s Z_List) ToArray() []Z { return *(*[]Z)(unsafe.Pointer(C.PointerList(s).ToArray())) }
示例6: Len
func (s Z_List) Len() int { return C.PointerList(s).Len() }
示例7: ToArray
func (s Routable_List) ToArray() []Routable {
return *(*[]Routable)(unsafe.Pointer(C.PointerList(s).ToArray()))
}
示例8: Len
func (s Routable_List) Len() int { return C.PointerList(s).Len() }
示例9: At
func (s Request_List) At(i int) Request { return Request(C.PointerList(s).At(i).ToStruct()) }
示例10: ToArray
func (s Ranges_List) ToArray() []Ranges {
return *(*[]Ranges)(unsafe.Pointer(C.PointerList(s).ToArray()))
}
示例11: Len
func (s StatisticalRecords_List) Len() int { return C.PointerList(s).Len() }
示例12: At
func (s Routable_List) At(i int) Routable { return Routable(C.PointerList(s).At(i).ToStruct()) }
示例13: Set
func (s Routable_List) Set(i int, item Routable) { C.PointerList(s).Set(i, C.Object(item)) }
示例14: At
func (s Z_List) At(i int) Z { return Z(C.PointerList(s).At(i).ToStruct()) }
示例15: Set
func (s Z_List) Set(i int, item Z) { C.PointerList(s).Set(i, C.Object(item)) }