Mercurial > repos > public > sbplib_julia
view src/Grids/zero_dim_grid.jl @ 1262:5e28ae42caf2 refactor/grids
Clean up IteratorSize and eltype for EquidistantGrid, Grid, and ZeroDimGrid
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Thu, 23 Feb 2023 22:29:36 +0100 |
parents | 8b9a77d2dc91 |
children | dbddd0f61bde |
line wrap: on
line source
""" ZeroDimGrid{T} <: Grid{T,0} # TODO """ struct ZeroDimGrid{T} <: Grid{T,0} point::T end # Indexing interface Base.getindex(g::ZeroDimGrid) = g.point Base.eachindex(g::ZeroDimGrid) = CartesianIndices(()) # Iteration interface Base.iterate(g::ZeroDimGrid) = (g.point, nothing) Base.iterate(g::ZeroDimGrid, ::Any) = nothing Base.IteratorSize(::Type{<:ZeroDimGrid}) = Base.HasShape{0}() Base.length(g::ZeroDimGrid) = 1 Base.size(g::ZeroDimGrid) = ()