File tree 1 file changed +57
-0
lines changed
1 file changed +57
-0
lines changed Original file line number Diff line number Diff line change @@ -40,11 +40,68 @@ inline var Buffer.lim: Int
40
40
limit(value)
41
41
}
42
42
43
+
44
+ // sliceAt
45
+
43
46
fun ByteBuffer.sliceAt (offset : Int , size : Int = lim - offset): ByteBuffer {
44
47
val backupPos = pos
45
48
pos = offset
46
49
val res = slice()
47
50
res.lim = size
48
51
pos = backupPos
49
52
return res
53
+ }
54
+
55
+ fun ShortBuffer.sliceAt (offset : Int , size : Int = lim - offset): ShortBuffer {
56
+ val backupPos = pos
57
+ pos = offset
58
+ val res = slice()
59
+ res.lim = size
60
+ pos = backupPos
61
+ return res
62
+ }
63
+
64
+ fun IntBuffer.sliceAt (offset : Int , size : Int = lim - offset): IntBuffer {
65
+ val backupPos = pos
66
+ pos = offset
67
+ val res = slice()
68
+ res.lim = size
69
+ pos = backupPos
70
+ return res
71
+ }
72
+
73
+ fun LongBuffer.sliceAt (offset : Int , size : Int = lim - offset): LongBuffer {
74
+ val backupPos = pos
75
+ pos = offset
76
+ val res = slice()
77
+ res.lim = size
78
+ pos = backupPos
79
+ return res
80
+ }
81
+
82
+ fun FloatBuffer.sliceAt (offset : Int , size : Int = lim - offset): FloatBuffer {
83
+ val backupPos = pos
84
+ pos = offset
85
+ val res = slice()
86
+ res.lim = size
87
+ pos = backupPos
88
+ return res
89
+ }
90
+
91
+ fun DoubleBuffer.sliceAt (offset : Int , size : Int = lim - offset): DoubleBuffer {
92
+ val backupPos = pos
93
+ pos = offset
94
+ val res = slice()
95
+ res.lim = size
96
+ pos = backupPos
97
+ return res
98
+ }
99
+
100
+ fun CharBuffer.sliceAt (offset : Int , size : Int = lim - offset): CharBuffer {
101
+ val backupPos = pos
102
+ pos = offset
103
+ val res = slice()
104
+ res.lim = size
105
+ pos = backupPos
106
+ return res
50
107
}
You can’t perform that action at this time.
0 commit comments