1// Generated by tmpl
2// https://github.com/benbjohnson/tmpl
3//
4// DO NOT EDIT!
5// Source: values_sequence.gen.go.tmpl
6
7package gen
8
9import (
10	"github.com/influxdata/influxdb/tsdb"
11)
12
13type FloatValuesSequence interface {
14	Reset()
15	Write(v []float64)
16}
17
18type timeFloatValuesSequence struct {
19	vals  floatArray
20	ts    TimestampSequence
21	vs    FloatValuesSequence
22	count int
23	n     int
24}
25
26func NewTimeFloatValuesSequence(count int, ts TimestampSequence, vs FloatValuesSequence) TimeValuesSequence {
27	return &timeFloatValuesSequence{
28		vals:  *newFloatArrayLen(tsdb.DefaultMaxPointsPerBlock),
29		ts:    ts,
30		vs:    vs,
31		count: count,
32		n:     count,
33	}
34}
35
36func (s *timeFloatValuesSequence) Reset() {
37	s.ts.Reset()
38	s.vs.Reset()
39	s.n = s.count
40}
41
42func (s *timeFloatValuesSequence) Next() bool {
43	if s.n > 0 {
44		c := min(s.n, tsdb.DefaultMaxPointsPerBlock)
45		s.n -= c
46		s.vals.Timestamps = s.vals.Timestamps[:c]
47		s.vals.Values = s.vals.Values[:c]
48
49		s.ts.Write(s.vals.Timestamps)
50		s.vs.Write(s.vals.Values)
51		return true
52	}
53
54	return false
55}
56
57func (s *timeFloatValuesSequence) Values() Values {
58	return &s.vals
59}
60
61type IntegerValuesSequence interface {
62	Reset()
63	Write(v []int64)
64}
65
66type timeIntegerValuesSequence struct {
67	vals  integerArray
68	ts    TimestampSequence
69	vs    IntegerValuesSequence
70	count int
71	n     int
72}
73
74func NewTimeIntegerValuesSequence(count int, ts TimestampSequence, vs IntegerValuesSequence) TimeValuesSequence {
75	return &timeIntegerValuesSequence{
76		vals:  *newIntegerArrayLen(tsdb.DefaultMaxPointsPerBlock),
77		ts:    ts,
78		vs:    vs,
79		count: count,
80		n:     count,
81	}
82}
83
84func (s *timeIntegerValuesSequence) Reset() {
85	s.ts.Reset()
86	s.vs.Reset()
87	s.n = s.count
88}
89
90func (s *timeIntegerValuesSequence) Next() bool {
91	if s.n > 0 {
92		c := min(s.n, tsdb.DefaultMaxPointsPerBlock)
93		s.n -= c
94		s.vals.Timestamps = s.vals.Timestamps[:c]
95		s.vals.Values = s.vals.Values[:c]
96
97		s.ts.Write(s.vals.Timestamps)
98		s.vs.Write(s.vals.Values)
99		return true
100	}
101
102	return false
103}
104
105func (s *timeIntegerValuesSequence) Values() Values {
106	return &s.vals
107}
108
109type UnsignedValuesSequence interface {
110	Reset()
111	Write(v []uint64)
112}
113
114type timeUnsignedValuesSequence struct {
115	vals  unsignedArray
116	ts    TimestampSequence
117	vs    UnsignedValuesSequence
118	count int
119	n     int
120}
121
122func NewTimeUnsignedValuesSequence(count int, ts TimestampSequence, vs UnsignedValuesSequence) TimeValuesSequence {
123	return &timeUnsignedValuesSequence{
124		vals:  *newUnsignedArrayLen(tsdb.DefaultMaxPointsPerBlock),
125		ts:    ts,
126		vs:    vs,
127		count: count,
128		n:     count,
129	}
130}
131
132func (s *timeUnsignedValuesSequence) Reset() {
133	s.ts.Reset()
134	s.vs.Reset()
135	s.n = s.count
136}
137
138func (s *timeUnsignedValuesSequence) Next() bool {
139	if s.n > 0 {
140		c := min(s.n, tsdb.DefaultMaxPointsPerBlock)
141		s.n -= c
142		s.vals.Timestamps = s.vals.Timestamps[:c]
143		s.vals.Values = s.vals.Values[:c]
144
145		s.ts.Write(s.vals.Timestamps)
146		s.vs.Write(s.vals.Values)
147		return true
148	}
149
150	return false
151}
152
153func (s *timeUnsignedValuesSequence) Values() Values {
154	return &s.vals
155}
156
157type StringValuesSequence interface {
158	Reset()
159	Write(v []string)
160}
161
162type timeStringValuesSequence struct {
163	vals  stringArray
164	ts    TimestampSequence
165	vs    StringValuesSequence
166	count int
167	n     int
168}
169
170func NewTimeStringValuesSequence(count int, ts TimestampSequence, vs StringValuesSequence) TimeValuesSequence {
171	return &timeStringValuesSequence{
172		vals:  *newStringArrayLen(tsdb.DefaultMaxPointsPerBlock),
173		ts:    ts,
174		vs:    vs,
175		count: count,
176		n:     count,
177	}
178}
179
180func (s *timeStringValuesSequence) Reset() {
181	s.ts.Reset()
182	s.vs.Reset()
183	s.n = s.count
184}
185
186func (s *timeStringValuesSequence) Next() bool {
187	if s.n > 0 {
188		c := min(s.n, tsdb.DefaultMaxPointsPerBlock)
189		s.n -= c
190		s.vals.Timestamps = s.vals.Timestamps[:c]
191		s.vals.Values = s.vals.Values[:c]
192
193		s.ts.Write(s.vals.Timestamps)
194		s.vs.Write(s.vals.Values)
195		return true
196	}
197
198	return false
199}
200
201func (s *timeStringValuesSequence) Values() Values {
202	return &s.vals
203}
204
205type BooleanValuesSequence interface {
206	Reset()
207	Write(v []bool)
208}
209
210type timeBooleanValuesSequence struct {
211	vals  booleanArray
212	ts    TimestampSequence
213	vs    BooleanValuesSequence
214	count int
215	n     int
216}
217
218func NewTimeBooleanValuesSequence(count int, ts TimestampSequence, vs BooleanValuesSequence) TimeValuesSequence {
219	return &timeBooleanValuesSequence{
220		vals:  *newBooleanArrayLen(tsdb.DefaultMaxPointsPerBlock),
221		ts:    ts,
222		vs:    vs,
223		count: count,
224		n:     count,
225	}
226}
227
228func (s *timeBooleanValuesSequence) Reset() {
229	s.ts.Reset()
230	s.vs.Reset()
231	s.n = s.count
232}
233
234func (s *timeBooleanValuesSequence) Next() bool {
235	if s.n > 0 {
236		c := min(s.n, tsdb.DefaultMaxPointsPerBlock)
237		s.n -= c
238		s.vals.Timestamps = s.vals.Timestamps[:c]
239		s.vals.Values = s.vals.Values[:c]
240
241		s.ts.Write(s.vals.Timestamps)
242		s.vs.Write(s.vals.Values)
243		return true
244	}
245
246	return false
247}
248
249func (s *timeBooleanValuesSequence) Values() Values {
250	return &s.vals
251}
252