@@ -32,8 +32,8 @@ blockappend!(dest::BlockVector, s1, s2, sources...) =
3232
3333function blockappend! (dest:: BlockVector{<:Any,T} , src:: BlockVector{<:Any,T} ) where {T}
3434 append! (dest. blocks, src. blocks)
35- offset = last (dest. axes[1 ]) + 1 - src. axes[1 ]. first
36- append! (dest. axes[1 ]. lasts , (n + offset for n in src. axes[1 ]. lasts ))
35+ offset = last (dest. axes[1 ]) + 1 - first ( src. axes[1 ])
36+ append! (blocklasts ( dest. axes[1 ]) , (n + offset for n in blocklasts ( src. axes[1 ]) ))
3737 return dest
3838end
3939
@@ -102,7 +102,7 @@ _newblockfor(dest, block) =
102102
103103function _blockpush! (dest, block)
104104 push! (dest. blocks, block)
105- push! (dest. axes[1 ]. lasts , last (dest. axes[1 ]) + length (block))
105+ push! (blocklasts ( dest. axes[1 ]) , last (dest. axes[1 ]) + length (block))
106106 return dest
107107end
108108
@@ -144,8 +144,8 @@ blockpushfirst!(dest::BlockVector{<:Any,<:Any}, block) =
144144
145145function _blockpushfirst! (dest, block)
146146 pushfirst! (dest. blocks, block)
147- dest. axes[1 ]. lasts .+ = length (block) - 1 + dest. axes[1 ]. first
148- pushfirst! (dest. axes[1 ]. lasts , length (block))
147+ blocklasts ( dest. axes[1 ]) .+ = length (block) - 1 + first ( dest. axes[1 ])
148+ pushfirst! (blocklasts ( dest. axes[1 ]) , length (block))
149149 return dest
150150end
151151
@@ -172,7 +172,7 @@ julia> A
172172"""
173173function blockpop! (A:: BlockVector )
174174 block = pop! (A. blocks)
175- pop! (A. axes[1 ]. lasts )
175+ pop! (blocklasts ( A. axes[1 ]) )
176176 return block
177177end
178178
@@ -199,8 +199,8 @@ julia> A
199199"""
200200function blockpopfirst! (A:: BlockVector )
201201 block = popfirst! (A. blocks)
202- n = popfirst! (A. axes[1 ]. lasts )
203- A. axes[1 ]. lasts .- = n
202+ n = popfirst! (blocklasts ( A. axes[1 ]) )
203+ blocklasts ( A. axes[1 ]) .- = n
204204 return block
205205end
206206
@@ -245,7 +245,7 @@ function append_itr!(dest::BlockVector, ::Union{Base.HasShape,Base.HasLength}, s
245245 _append_itr_foldfn! (block,i,x)
246246 end
247247 da, = dest. axes
248- da . lasts [end ] += length (src)
248+ blocklasts (da) [end ] += length (src)
249249 return dest
250250end
251251
@@ -257,23 +257,23 @@ function append_itr!(dest::BlockVector, ::Base.SizeUnknown, src)
257257 return n + 1
258258 end
259259 da, = dest. axes
260- da . lasts [end ] += n
260+ blocklasts (da) [end ] += n
261261 return dest
262262end
263263
264264# remove empty blocks at the end
265265function _squash_lasts! (A:: BlockVector )
266266 while ! isempty (A. blocks) && isempty (A. blocks[end ])
267267 pop! (A. blocks)
268- pop! (A. axes[1 ]. lasts )
268+ pop! (blocklasts ( A. axes[1 ]) )
269269 end
270270end
271271
272272# remove empty blocks at the beginning
273273function _squash_firsts! (A:: BlockVector )
274274 while ! isempty (A. blocks) && isempty (A. blocks[1 ])
275275 popfirst! (A. blocks)
276- popfirst! (A. axes[1 ]. lasts )
276+ popfirst! (blocklasts ( A. axes[1 ]) )
277277 end
278278end
279279
@@ -287,7 +287,7 @@ function Base.pop!(A::BlockVector)
287287 isempty (A) && throw (Argument (" array must be nonempty" ))
288288 _squash_lasts! (A)
289289 x = pop! (A. blocks[end ])
290- lasts = A. axes[1 ]. lasts
290+ lasts = blocklasts ( A. axes[1 ])
291291 if isempty (A. blocks[end ])
292292 pop! (A. blocks)
293293 pop! (lasts)
@@ -310,9 +310,9 @@ function Base.popfirst!(A::BlockVector)
310310 ax, = A. axes
311311 if isempty (A. blocks[1 ])
312312 popfirst! (A. blocks)
313- popfirst! (ax . lasts )
313+ popfirst! (blocklasts (ax) )
314314 else
315- ax . lasts [1 ] -= 1
315+ blocklasts (ax) [1 ] -= 1
316316 end
317317 return x
318318end
@@ -331,6 +331,6 @@ Push items to the beginning of the first block.
331331"""
332332function Base. pushfirst! (A:: BlockVector , items... )
333333 pushfirst! (A. blocks[1 ], items... )
334- A. axes[1 ]. lasts .+ = length (items)
334+ blocklasts ( A. axes[1 ]) .+ = length (items)
335335 return A
336336end
0 commit comments