Skip to content
Snippets Groups Projects
std_mdspan.py 598 B
Newer Older
from typing import Optional

from ..source_concepts import SrcMemberAccess
from ..containers import SrcContiguousContainer

class std_mdspan(SrcContiguousContainer):
    def __init__(self, identifer: str):
        super().__init__("std::mdspan", identifier)

    def ptr(self):
        return SrcMemberAccess(self, f"{self._identifier}.data_handle()")

    def size(self, dimension: int):
        return SrcMemberAccess(self, f"{self._identifier}.extents().extent({dimension})")

    def stride(self, dimension: int):
        return SrcMemberAccess(self, f"{self._identifier}.stride({dimension})")