Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Attributes | List of all members
dart::ArrayOfTuplesView< EnumType, TupleT, kStartOffset > Class Template Reference

#include <object.h>

Classes

class  Iterator
 
class  TupleView
 

Public Member Functions

 ArrayOfTuplesView (const Array &array)
 
intptr_t Length () const
 
TupleView At (intptr_t i) const
 
TupleView operator[] (intptr_t i) const
 
Iterator begin () const
 
Iterator end () const
 

Static Public Attributes

static constexpr intptr_t EntrySize = std::tuple_size<TupleT>::value
 

Detailed Description

template<typename EnumType, typename TupleT, int kStartOffset = 0>
class dart::ArrayOfTuplesView< EnumType, TupleT, kStartOffset >

Definition at line 13436 of file object.h.

Constructor & Destructor Documentation

◆ ArrayOfTuplesView()

template<typename EnumType , typename TupleT , int kStartOffset = 0>
dart::ArrayOfTuplesView< EnumType, TupleT, kStartOffset >::ArrayOfTuplesView ( const Array array)
inlineexplicit

Definition at line 13493 of file object.h.

13493 : array_(array) {
13494 ASSERT(!array.IsNull());
13495 ASSERT(array.Length() >= kStartOffset);
13496 ASSERT(array.Length() % EntrySize == kStartOffset);
13497 }
static constexpr intptr_t EntrySize
Definition object.h:13438
#define ASSERT(E)

Member Function Documentation

◆ At()

template<typename EnumType , typename TupleT , int kStartOffset = 0>
TupleView dart::ArrayOfTuplesView< EnumType, TupleT, kStartOffset >::At ( intptr_t  i) const
inline

Definition at line 13503 of file object.h.

13503 {
13504 return TupleView(array_, kStartOffset + i * EntrySize);
13505 }

◆ begin()

template<typename EnumType , typename TupleT , int kStartOffset = 0>
Iterator dart::ArrayOfTuplesView< EnumType, TupleT, kStartOffset >::begin ( ) const
inline

Definition at line 13509 of file object.h.

13509{ return Iterator(array_, kStartOffset); }

◆ end()

template<typename EnumType , typename TupleT , int kStartOffset = 0>
Iterator dart::ArrayOfTuplesView< EnumType, TupleT, kStartOffset >::end ( ) const
inline

Definition at line 13511 of file object.h.

13511 {
13512 return Iterator(array_, kStartOffset + Length() * EntrySize);
13513 }
intptr_t Length() const
Definition object.h:13499

◆ Length()

template<typename EnumType , typename TupleT , int kStartOffset = 0>
intptr_t dart::ArrayOfTuplesView< EnumType, TupleT, kStartOffset >::Length ( ) const
inline

Definition at line 13499 of file object.h.

13499 {
13500 return (array_.Length() - kStartOffset) / EntrySize;
13501 }
intptr_t Length() const
Definition object.h:10808

◆ operator[]()

template<typename EnumType , typename TupleT , int kStartOffset = 0>
TupleView dart::ArrayOfTuplesView< EnumType, TupleT, kStartOffset >::operator[] ( intptr_t  i) const
inline

Definition at line 13507 of file object.h.

13507{ return At(i); }
TupleView At(intptr_t i) const
Definition object.h:13503

Member Data Documentation

◆ EntrySize

template<typename EnumType , typename TupleT , int kStartOffset = 0>
constexpr intptr_t dart::ArrayOfTuplesView< EnumType, TupleT, kStartOffset >::EntrySize = std::tuple_size<TupleT>::value
staticconstexpr

Definition at line 13438 of file object.h.


The documentation for this class was generated from the following file: