# soa1d_container::const_accessor and aos1d_container::const_accessor

Lightweight object provides efficient array subscript [] access to the read elements from inside a soa1d_container or aos1d_container. `#include <sdlt/soa1d_container.h>` and `#include <sdlt/aos1d_container.h>`

## Syntax

    template <typename OffsetT> soa1d_container::const_accessor;
    template <typename OffsetT> aos1d_container::const_accessor;

## Arguments

`typename OffsetT` | The type offset that embedded offset that will be applied to each operator[] call

## Description

const_accessor provides [] operator that returns a proxy object representing a const Element inside the Container that can export the Primitive's data. Can re-access with an offset to create a new const_accessor that when accessed at [0] will really be accessing at index corresponding to the embedded offset. Lightweight and meant to be passed by value into functions or lambda closures. Use const_accessors in place of const pointers to access the logical array data.

Member | Description
--- | ---
    const_accessor();
| Default Constructible
    const_accessor(const const_accessor &);
| Copy Constructible
    const_accessor & operator = (const const_accessor &);
| Copy Assignable
    const int & get_size_d1() const;
| Returns: Number of elements in the container.
    auto operator [] (int index_d1) const
| Returns: proxy ConstElement representing element atindex_d1 in the container..
    template<typename IndexT_D1>
    auto
    operator [] (const IndexT_D1 index_d1);
| When: IndexT_D1 is one of the SDLT defined or generated Index types. Returns: proxy ConstElement representing element at index_d1 in the container.
    auto
    reaccess(const int offset) const;
| Returns: const_accessor with an integer-based embedded index offset.
    template<int IndexAlignmentT>
    auto
    reaccess(aligned_offset<IndexAlignmentT> offset) const;
| Returns: const_accessor with an `aligned_offset<IndexAlignmentT>` based embedded index offset.
    template<int fixed_offsetT>
    auto
    reaccess(fixed_offset<fixed_offsetT>) const;
| Returns: const_accessor with a `fixed_offset<OffsetT>` based embedded index offset.

Parent topic: Accessors