view src/Grids/zero_dim_grid.jl @ 1255:1989d432731a refactor/grids

Implement the interfaces for iteration and indexing on EquidistantGrid. Make collect() work
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 22 Feb 2023 22:38:25 +0100
parents 8806f4cd6fee
children 3fc78ad26d03
line wrap: on
line source

struct ZeroDimGrid{T,S,RD} <: Grid{T,0,RD}
    p::S

    function ZeroDimGrid(p)
        T = eltype(p)
        S = typeof(p)
        RD = length(p)
        return new{T,S,RD}(p)
    end
end

Base.size(g::ZeroDimGrid) = ()
Base.getindex(g::ZeroDimGrid) = g.p
Base.eachindex(g::ZeroDimGrid) = CartesianIndices(())