diff --git a/src/bases_dirac.jl b/src/bases_dirac.jl index 75d7918..48a917f 100644 --- a/src/bases_dirac.jl +++ b/src/bases_dirac.jl @@ -101,6 +101,8 @@ function MappedBasis(itr, map, inverse_map) return MappedBasis{typeof(map(first(itr)))}(itr, map, inverse_map) end +Base.copy(b::MappedBasis) = b + object(db::MappedBasis) = db.object function Base.IteratorSize(::Type{<:MappedBasis{T,I,S}}) where {T,I,S} diff --git a/src/bases_fixed.jl b/src/bases_fixed.jl index 5273279..1ac67ff 100644 --- a/src/bases_fixed.jl +++ b/src/bases_fixed.jl @@ -106,6 +106,8 @@ struct SubBasis{T,I,K,B<:AbstractBasis{T,K},V<:AbstractVector{K}} <: end end +Base.copy(b::SubBasis) = SubBasis(copy(parent(b)), copy(b.keys)) + Base.parent(sub::SubBasis) = sub.parent_basis Base.length(b::SubBasis) = length(b.keys)