cutlass::Array< T, N, false > Class Template Reference

Statically sized array for any data type.

`#include <array_subbyte.h>`

## Classes

class | const_iterator
| Bidirectional constant iterator over elements. More...
class | const_reference
| Reference object extracts sub-byte items. More...
class | const_reverse_iterator
| Bidirectional constant iterator over elements. More...
class | iterator
| Bidirectional iterator over elements. More...
class | reference
| Reference object inserts or extracts sub-byte items. More...
class | reverse_iterator
| Bidirectional iterator over elements. More...

## Public Types

using | Storage = typename platform::conditional< ((kSizeBits%32)!=0), typename platform::conditional< ((kSizeBits%16)!=0), uint8_t, uint16_t >::type, uint32_t >::type
| Storage type. More...
using | Element = T
| Element type. More...
typedef T | value_type
typedef size_t | size_type
typedef ptrdiff_t | difference_type
typedef value_type * | pointer
typedef value_type const * | const_pointer

## Public Member Functions

CUTLASS_HOST_DEVICE | Array ()
CUTLASS_HOST_DEVICE | Array (Array const &x)
CUTLASS_HOST_DEVICE void | clear ()
| Efficient clear method. More...
CUTLASS_HOST_DEVICE reference | at (size_type pos)
CUTLASS_HOST_DEVICE const_reference | at (size_type pos) const
CUTLASS_HOST_DEVICE reference | operator[] (size_type pos)
CUTLASS_HOST_DEVICE const_reference | operator[] (size_type pos) const
CUTLASS_HOST_DEVICE reference | front ()
CUTLASS_HOST_DEVICE const_reference | front () const
CUTLASS_HOST_DEVICE reference | back ()
CUTLASS_HOST_DEVICE const_reference | back () const
CUTLASS_HOST_DEVICE pointer | data ()
CUTLASS_HOST_DEVICE const_pointer | data () const
CUTLASS_HOST_DEVICE Storage * | raw_data ()
CUTLASS_HOST_DEVICE Storage const * | raw_data () const
CUTLASS_HOST_DEVICE constexpr bool | empty () const
CUTLASS_HOST_DEVICE constexpr size_type | size () const
CUTLASS_HOST_DEVICE constexpr size_type | max_size () const
CUTLASS_HOST_DEVICE void | fill (T const &value)
CUTLASS_HOST_DEVICE iterator | begin ()
CUTLASS_HOST_DEVICE const_iterator | cbegin () const
CUTLASS_HOST_DEVICE iterator | end ()
CUTLASS_HOST_DEVICE const_iterator | cend () const
CUTLASS_HOST_DEVICE reverse_iterator | rbegin ()
CUTLASS_HOST_DEVICE const_reverse_iterator | crbegin () const
CUTLASS_HOST_DEVICE reverse_iterator | rend ()
CUTLASS_HOST_DEVICE const_reverse_iterator | crend () const

## Static Public Attributes

static int const | kSizeBits = sizeof_bits<T>::value * N
static int const | kElementsPerStoredItem = (sizeof(Storage) * 8) / sizeof_bits<T>::value
| Number of logical elements per stored object. More...
static size_t const | kStorageElements = N / kElementsPerStoredItem
| Number of storage elements. More...
static size_t const | kElements = N
| Number of logical elements. More...
static Storage const | kMask = ((Storage(1) << sizeof_bits<T>::value) - 1)
| Bitmask for covering one item. More...

## Member Typedef Documentation

template<typename T , int N>

typedef value_type const* cutlass::Array< T, N, false >::const_pointer

template<typename T , int N>

typedef ptrdiff_t cutlass::Array< T, N, false >::difference_type

template<typename T , int N>

using cutlass::Array< T, N, false >::Element = T

template<typename T , int N>

typedef value_type* cutlass::Array< T, N, false >::pointer

template<typename T , int N>

typedef size_t cutlass::Array< T, N, false >::size_type

template<typename T , int N>

using cutlass::Array< T, N, false >::Storage = typename platform::conditional< ((kSizeBits % 32) != 0), typename platform::conditional< ((kSizeBits % 16) != 0), uint8_t, uint16_t >::type, uint32_t >::type

template<typename T , int N>

typedef T cutlass::Array< T, N, false >::value_type

## Constructor & Destructor Documentation

template<typename T , int N>

CUTLASS_HOST_DEVICE cutlass::Array< T, N, false >::Array | ( |  | ) |

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE cutlass::Array< T, N, false >::Array | ( | Array< T, N, false > const & | x | ) |

inline

## Member Function Documentation

template<typename T , int N>

CUTLASS_HOST_DEVICE reference cutlass::Array< T, N, false >::at | ( | size_type | pos | ) |

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE const_reference cutlass::Array< T, N, false >::at | ( | size_type | pos | ) | const

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE reference cutlass::Array< T, N, false >::back | ( |  | ) |

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE const_reference cutlass::Array< T, N, false >::back | ( |  | ) | const

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE iterator cutlass::Array< T, N, false >::begin | ( |  | ) |

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE const_iterator cutlass::Array< T, N, false >::cbegin | ( |  | ) | const

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE const_iterator cutlass::Array< T, N, false >::cend | ( |  | ) | const

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE void cutlass::Array< T, N, false >::clear | ( |  | ) |

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE const_reverse_iterator cutlass::Array< T, N, false >::crbegin | ( |  | ) | const

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE const_reverse_iterator cutlass::Array< T, N, false >::crend | ( |  | ) | const

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE pointer cutlass::Array< T, N, false >::data | ( |  | ) |

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE const_pointer cutlass::Array< T, N, false >::data | ( |  | ) | const

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE constexpr bool cutlass::Array< T, N, false >::empty | ( |  | ) | const

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE iterator cutlass::Array< T, N, false >::end | ( |  | ) |

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE void cutlass::Array< T, N, false >::fill | ( | T const & | value | ) |

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE reference cutlass::Array< T, N, false >::front | ( |  | ) |

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE const_reference cutlass::Array< T, N, false >::front | ( |  | ) | const

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE constexpr size_type cutlass::Array< T, N, false >::max_size | ( |  | ) | const

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE reference cutlass::Array< T, N, false >::operator[] | ( | size_type | pos | ) |

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE const_reference cutlass::Array< T, N, false >::operator[] | ( | size_type | pos | ) | const

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE Storage* cutlass::Array< T, N, false >::raw_data | ( |  | ) |

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE Storage const* cutlass::Array< T, N, false >::raw_data | ( |  | ) | const

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE reverse_iterator cutlass::Array< T, N, false >::rbegin | ( |  | ) |

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE reverse_iterator cutlass::Array< T, N, false >::rend | ( |  | ) |

inline

template<typename T , int N>

CUTLASS_HOST_DEVICE constexpr size_type cutlass::Array< T, N, false >::size | ( |  | ) | const

inline

## Member Data Documentation

template<typename T , int N>

size_t const cutlass::Array< T, N, false >::kElements = N

static

template<typename T , int N>

int const cutlass::Array< T, N, false >::kElementsPerStoredItem = (sizeof(Storage) * 8) / sizeof_bits<T>::value

static

template<typename T , int N>

Storage const cutlass::Array< T, N, false >::kMask = ((Storage(1) << sizeof_bits<T>::value) - 1)

static

template<typename T , int N>

int const cutlass::Array< T, N, false >::kSizeBits = sizeof_bits<T>::value * N

static

template<typename T , int N>

size_t const cutlass::Array< T, N, false >::kStorageElements = N / kElementsPerStoredItem

static

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

- array_subbyte.h