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