view src/Grids/zero_dim_grid.jl @ 1256:3fc78ad26d03 refactor/grids

Add notes and todos about interface implementations for grids
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 22 Feb 2023 22:38:54 +0100
parents 8806f4cd6fee
children 198ccda331a6
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(())

# Indexing interface
# TODO
# Iteration interface
# TODO