@@ -17,16 +17,17 @@ OffsetArray(A::AbstractArray{T,N}, offsets::NTuple{N,Int}) where {T,N} =
17
17
OffsetArray (A:: AbstractArray{T,N} , offsets:: Vararg{Int,N} ) where {T,N} =
18
18
OffsetArray (A, offsets)
19
19
20
- OffsetArray {T,N} (:: UndefInitializer , inds:: Indices{N} ) where {T,N} =
21
- OffsetArray {T,N,Array{T,N}} (Array {T,N} (undef, map (indexlength, inds)), map (indexoffset, inds))
22
- OffsetArray {T} (:: UndefInitializer , inds:: Indices{N} ) where {T,N} = OffsetArray {T,N} (undef, inds)
23
- OffsetArray {T,N} (:: UndefInitializer , inds:: Vararg{AbstractUnitRange,N} ) where {T,N} = OffsetArray {T,N} (undef, inds)
24
- OffsetArray {T} (:: UndefInitializer , inds:: Vararg{AbstractUnitRange,N} ) where {T,N} = OffsetArray {T,N} (undef, inds)
20
+ const ArrayInitializer = Union{UndefInitializer, Missing, Nothing}
21
+ OffsetArray {T,N} (init:: ArrayInitializer , inds:: Indices{N} ) where {T,N} =
22
+ OffsetArray {T,N,Array{T,N}} (Array {T,N} (init, map (indexlength, inds)), map (indexoffset, inds))
23
+ OffsetArray {T} (init:: ArrayInitializer , inds:: Indices{N} ) where {T,N} = OffsetArray {T,N} (init, inds)
24
+ OffsetArray {T,N} (init:: ArrayInitializer , inds:: Vararg{AbstractUnitRange,N} ) where {T,N} = OffsetArray {T,N} (init, inds)
25
+ OffsetArray {T} (init:: ArrayInitializer , inds:: Vararg{AbstractUnitRange,N} ) where {T,N} = OffsetArray {T,N} (init, inds)
25
26
OffsetArray (A:: AbstractArray{T,0} ) where {T} = OffsetArray {T,0,typeof(A)} (A, ())
26
27
27
28
# OffsetVector constructors
28
29
OffsetVector (A:: AbstractVector , offset) = OffsetArray (A, offset)
29
- OffsetVector {T} (:: UndefInitializer , inds:: AbstractUnitRange ) where {T} = OffsetArray {T} (undef , inds)
30
+ OffsetVector {T} (init :: ArrayInitializer , inds:: AbstractUnitRange ) where {T} = OffsetArray {T} (init , inds)
30
31
31
32
# deprecated constructors
32
33
using Base: @deprecate
0 commit comments