template <class ElementView, class BufferType, ::std::size_t kElementSize, ::std::size_t kAddressableUnitSize, typename... ElementViewParameterTypes>

class GenericArrayView

Defined at line 165 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

View for an array in a structure.

ElementView should be the view class for a single array element (e.g.,

UIntView

<

...> or ArrayView

<

...>).

BufferType is the storage type that will be passed into the array.

kElementSize is the fixed size of a single element, in addressable units.

kAddressableUnitSize is the size of a single addressable unit. It should be

either 1 (one bit) or 8 (one byte).

ElementViewParameterTypes is a list of the types of parameters which must be

passed down to each element of the array. ElementViewParameterTypes can be

empty.

Public Methods

void GenericArrayView<ElementView, BufferType, kElementSize, kAddressableUnitSize, ElementViewParameterTypes...> ()

Defined at line 175 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

void GenericArrayView<ElementView, BufferType, kElementSize, kAddressableUnitSize, ElementViewParameterTypes...> (const ElementViewParameterTypes &... parameters, BufferType buffer)

Defined at line 176 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

ElementView operator[] (::std::size_t index)

Defined at line 180 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

ElementView at (::std::size_t index)

Defined at line 186 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

ForwardIterator begin ()

Defined at line 192 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

ForwardIterator end ()

Defined at line 193 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

ReverseIterator rbegin ()

Defined at line 194 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

ReverseIterator rend ()

Defined at line 197 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

template <int N = 0>
typename ::std::enable_if<((void)N , kAddressableUnitSize == 8), ::std::size_t>::type SizeInBytes ()

In order to selectively enable SizeInBytes and SizeInBits, it is

necessary to make them into templates. Further, it is necessary for

::std::enable_if to have a dependency on the template parameter, otherwise

SFINAE won't kick in. Thus, these are templated on an int, and that int

is (spuriously) used as the left argument to `,` in the enable_if

condition. The explicit cast to void is needed to silence GCC's

-Wunused-value.

Defined at line 207 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

template <int N = 0>
typename ::std::enable_if<((void)N , kAddressableUnitSize == 1), ::std::size_t>::type SizeInBits ()

Defined at line 213 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

::std::size_t ElementCount ()

Defined at line 219 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

bool Ok ()

Defined at line 220 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

template <class OtherElementView, class OtherBufferType>
bool Equals (const GenericArrayView<OtherElementView, OtherBufferType, kElementSize, kAddressableUnitSize> & other)

Defined at line 229 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

template <class OtherElementView, class OtherBufferType>
bool UncheckedEquals (const GenericArrayView<OtherElementView, OtherBufferType, kElementSize, kAddressableUnitSize> & other)

Defined at line 239 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

bool IsComplete ()

Defined at line 248 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

template <class Stream>
bool UpdateFromTextStream (Stream * stream)

Defined at line 251 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

template <class Stream>
void WriteToTextStream (Stream * stream, const TextOutputOptions & options)

Defined at line 256 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

bool IsAggregate ()

Defined at line 261 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

BufferType BackingStorage ()

Defined at line 263 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

template <typename String>
typename ::std::enable_if<kAddressableUnitSize == 8 && kElementSize == 1, String>::type ToString ()

Forwards to BufferType's ToString(), if any, but only if ElementView is a

1-byte type.

Defined at line 268 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

bool operator== (const GenericArrayView<ElementView, BufferType, kElementSize, kAddressableUnitSize, ElementViewParameterTypes...> & other)

Defined at line 275 of file ../../third_party/github.com/google/emboss/src/runtime/cpp/emboss_array_view.h

Records