Skip to content

Commit e05527c

Browse files
author
Pietro Vertechi
committed
allow for different indexing
1 parent 9ec542c commit e05527c

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/metadataarray.jl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,24 @@ MetadataVector(v::AbstractVector, n = ()) = MetadataArray(v, n)
4141

4242
Base.size(s::MetadataArray) = Base.size(parent(s))
4343

44+
Base.IndexStyle(T::Type{<:MetadataArray{}}) = IndexStyle(_parent_type(T))
45+
46+
Base.getindex(s::MetadataArray, x::Int) = getindex(parent(s), x)
47+
4448
function Base.getindex(s::MetadataArray{T, M, N}, x::Vararg{Int, N}) where {T, M, N}
4549
getindex(parent(s), x...)
4650
end
4751

52+
Base.setindex!(s::MetadataArray, el, x::Int) = setindex!(parent(s), el, x)
53+
4854
function Base.setindex!(s::MetadataArray{T, M, N}, el, x::Vararg{Int, N}) where {T, M, N}
4955
setindex!(parent(s), el, x...)
5056
end
5157

5258
Base.parent(s::MetadataArray) = s.parent
5359

60+
_parent_type(::Type{MetadataArray{T, M, N, S}}) where {T,M,N,S} = S
61+
5462
"""
5563
metadata(s::MetadataArray)
5664

0 commit comments

Comments
 (0)