template<typename V, size_t Size1, size_t Size2, bool InitPadding>
class Vc::Common::Memory< V, Size1, Size2, InitPadding >
A helper class for fixed-size two-dimensional arrays.
- Parameters
-
V | The vector type you want to operate on. (e.g. float_v or uint_v) |
Size1 | Number of rows |
Size2 | Number of columns |
Definition at line 132 of file memory.h.
|
template<typename Parent , typename RM > |
Memory & | operator= (const MemoryBase< V, Parent, 2, RM > &rhs) |
| Copies the data from a different object. More...
|
|
Memory & | operator= (const V &v) |
| Initialize all data with the given vector. More...
|
|
size_t | entriesCount () const |
|
size_t | vectorsCount () const |
|
template<typename Flags = AlignedTag> |
MemoryVectorIterator< V, Flags > | begin (Flags flags=Flags()) |
| Return a (vectorized) iterator to the start of this memory object.
|
|
template<typename Flags = AlignedTag> |
MemoryVectorIterator< const V, Flags > | begin (Flags flags=Flags()) const |
| const overload of the above
|
|
template<typename Flags = AlignedTag> |
MemoryVectorIterator< V, Flags > | end (Flags flags=Flags()) |
| Return a (vectorized) iterator to the end of this memory object.
|
|
template<typename Flags = AlignedTag> |
MemoryVectorIterator< const V, Flags > | end (Flags flags=Flags()) const |
| const overload of the above
|
|
template<typename Flags = AlignedTag> |
std::enable_if<!std::is_convertible< Flags, int >::value, MemoryVector< V, Flags > >::type & | vector (size_t i, Flags=Flags()) |
|
template<typename Flags = AlignedTag> |
std::enable_if<!std::is_convertible< Flags, int >::value, MemoryVector< const V, Flags > >::type & | vector (size_t i, Flags=Flags()) const |
| Const overload of the above function. More...
|
|
template<typename ShiftT , typename Flags = decltype(Unaligned)> |
std::enable_if< std::is_convertible< ShiftT, int >::value, MemoryVector< V, decltype(std::declval< Flags >)|Unaligned)> >::type & | vector (size_t i, ShiftT shift, Flags=Flags()) |
|
template<typename ShiftT , typename Flags = decltype(Unaligned)> |
std::enable_if< std::is_convertible< ShiftT, int >::value, MemoryVector< const V, decltype(std::declval< Flags >)|Unaligned)> >::type & | vector (size_t i, ShiftT shift, Flags=Flags()) const |
| Const overload of the above function.
|
|
template<typename Flags = UnalignedTag> |
MemoryVector< V, Flags > & | vectorAt (size_t i, Flags flags=Flags()) |
|
template<typename Flags = UnalignedTag> |
MemoryVector< const V, Flags > & | vectorAt (size_t i, Flags flags=Flags()) const |
| Const overload of the above function. More...
|
|
template<typename Flags = AlignedTag> |
MemoryVector< V, Flags > & | firstVector (Flags=Flags()) |
|
template<typename Flags = AlignedTag> |
MemoryVector< const V, Flags > & | firstVector (Flags=Flags()) const |
| Const overload of the above function.
|
|
template<typename Flags = AlignedTag> |
MemoryVector< V, Flags > & | lastVector (Flags=Flags()) |
|
template<typename Flags = AlignedTag> |
MemoryVector< const V, Flags > & | lastVector (Flags=Flags()) const |
| Const overload of the above function.
|
|
void | setZero () |
| Zero the whole memory area.
|
|
template<typename P2 , typename RM > |
Parent & | operator+= (const MemoryBase< V, P2, Dimension, RM > &rhs) |
| (Inefficient) shorthand to add up two arrays.
|
|
Parent & | operator+= (EntryType rhs) |
| (Inefficient) shorthand to add a value to an array.
|
|
template<typename P2 , typename RM > |
Parent & | operator-= (const MemoryBase< V, P2, Dimension, RM > &rhs) |
| (Inefficient) shorthand to subtract two arrays.
|
|
Parent & | operator-= (EntryType rhs) |
| (Inefficient) shorthand to subtract a value from an array.
|
|
template<typename P2 , typename RM > |
Parent & | operator*= (const MemoryBase< V, P2, Dimension, RM > &rhs) |
| (Inefficient) shorthand to multiply two arrays.
|
|
Parent & | operator*= (EntryType rhs) |
| (Inefficient) shorthand to multiply a value to an array.
|
|
template<typename P2 , typename RM > |
Parent & | operator/= (const MemoryBase< V, P2, Dimension, RM > &rhs) |
| (Inefficient) shorthand to divide two arrays.
|
|
Parent & | operator/= (EntryType rhs) |
| (Inefficient) shorthand to divide an array with a value.
|
|
template<typename P2 , typename RM > |
bool | operator== (const MemoryBase< V, P2, Dimension, RM > &rhs) const |
| (Inefficient) shorthand compare equality of two arrays.
|
|
template<typename P2 , typename RM > |
bool | operator!= (const MemoryBase< V, P2, Dimension, RM > &rhs) const |
| (Inefficient) shorthand compare two arrays.
|
|
template<typename P2 , typename RM > |
bool | operator< (const MemoryBase< V, P2, Dimension, RM > &rhs) const |
| (Inefficient) shorthand compare two arrays.
|
|
template<typename P2 , typename RM > |
bool | operator<= (const MemoryBase< V, P2, Dimension, RM > &rhs) const |
| (Inefficient) shorthand compare two arrays.
|
|
template<typename P2 , typename RM > |
bool | operator> (const MemoryBase< V, P2, Dimension, RM > &rhs) const |
| (Inefficient) shorthand compare two arrays.
|
|
template<typename P2 , typename RM > |
bool | operator>= (const MemoryBase< V, P2, Dimension, RM > &rhs) const |
| (Inefficient) shorthand compare two arrays.
|
|