Skip to content

Commit cdc0df3

Browse files
authored
Add reverse methods for KeyedArray
1 parent 2412f3a commit cdc0df3

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

ext/AxisKeysExt.jl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,11 @@ Accessors.set(x::KeyedArray, f::Base.Fix2{typeof(axiskeys), Int}, v) = @set axis
1010
Accessors.set(x::KeyedArray, f::Base.Fix2{typeof(axiskeys), Symbol}, v) = @set named_axiskeys(x)[f.x] = v
1111

1212
Accessors.set(x::KeyedArray, ::typeof(AxisKeys.keyless_unname), v::AbstractArray) = KeyedArray(v; named_axiskeys(x)...)
13+
14+
function set(x::AbstractVector, ::typeof(reverse), v::KeyedArray)
15+
res = similar(x, eltype(v))
16+
res .= v
17+
reverse!(res)
18+
res
19+
end
1320
end

src/functionlenses.jl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,12 @@ end
9292
set(::Tuple, ::typeof(reverse), v) = reverse(Tuple(v))
9393
set(x::NamedTuple, ::typeof(reverse), v) = @set reverse(Tuple(x)) = v
9494
function set(x::AbstractVector, ::typeof(reverse), v)
95+
res = similar(x, eltype(v))
96+
res .= v
97+
reverse!(res)
98+
res
99+
end
100+
function set(x::AbstractVector, ::typeof(reverse), v::AbstractVector)
95101
res = similar(x, eltype(v), size(v))
96102
res .= v
97103
reverse!(res)

0 commit comments

Comments
 (0)