|
using | dimension_type = DimensionType |
|
using | dimension_type |
|
|
constexpr | dim (const dimension_type &size=dimension_type{}) |
|
constexpr const dimension_type & | operator[] (const size_type &dimension) const noexcept |
|
dimension_type & | operator[] (const size_type &dimension) |
|
constexpr | operator bool () const |
|
constexpr | dim () |
| Creates a dimension object with all dimensions set to zero.
|
|
constexpr | dim (const dimension_type &size) |
| Creates a dimension object with all dimensions set to the same value.
|
|
constexpr | dim (const dimension_type &first, const Rest &... rest) |
| Creates a dimension object with the specified dimensions.
|
|
constexpr const dimension_type & | operator[] (const size_type &dimension) const noexcept |
| Returns the requested dimension.
|
|
dimension_type & | operator[] (const size_type &dimension) noexcept |
|
constexpr | operator bool () const |
| Checks if all dimensions evaluate to true.
|
|
|
struct | dim< 2 > |
|
constexpr bool | operator== (const dim &x, const dim &y) |
|
constexpr bool | operator!= (const dim &x, const dim &y) |
|
constexpr dim | operator* (const dim &x, const dim &y) |
|
std::ostream & | operator<< (std::ostream &os, const dim &x) |
|
struct | dim< dimensionality+1 > |
|
constexpr bool | operator== (const dim &x, const dim &y) |
| Checks if two dim objects are equal.
|
|
constexpr bool | operator!= (const dim &x, const dim &y) |
| Checks if two dim objects are not equal.
|
|
constexpr dim | operator* (const dim &x, const dim &y) |
| Multiplies two dim objects.
|
|
std::ostream & | operator<< (std::ostream &os, const dim &x) |
| A stream operator overload for dim.
|
|
◆ dim() [1/2]
gko::dim< Dimensionality, DimensionType >::dim |
( |
const dimension_type & | size | ) |
|
|
inlineexplicitconstexpr |
Creates a dimension object with all dimensions set to the same value.
- Parameters
-
size | the size of each dimension |
◆ dim() [2/2]
gko::dim< Dimensionality, DimensionType >::dim |
( |
const dimension_type & | first, |
|
|
const Rest &... | rest ) |
|
inlineconstexpr |
Creates a dimension object with the specified dimensions.
If the number of dimensions given is less than the dimensionality of the object, the remaining dimensions are set to the same value as the last value given.
For example, in the context of matrices dim<2>{2, 3}
creates the dimensions for a 2-by-3 matrix.
- Parameters
-
first | first dimension |
rest | other dimensions |
◆ operator bool()
gko::dim< Dimensionality, DimensionType >::operator bool |
( |
| ) |
const |
|
inlineexplicitconstexpr |
Checks if all dimensions evaluate to true.
For standard arithmetic types, this is equivalent to all dimensions being different than zero.
- Returns
- true if and only if all dimensions evaluate to true
- Note
- This operator is explicit to avoid implicit dim-to-int casts. It will still be used in contextual conversions (if, &&, ||, !)
◆ operator[]() [1/2]
const dimension_type & gko::dim< Dimensionality, DimensionType >::operator[] |
( |
const size_type & | dimension | ) |
const |
|
inlineconstexprnoexcept |
Returns the requested dimension.
For example, if d
is a dim<2> object representing matrix dimensions, d[0]
returns the number of rows, and d[1]
returns the number of columns.
- Parameters
-
dimension | the requested dimension |
- Returns
- the
dimension
-th dimension
◆ operator[]() [2/2]
dimension_type & gko::dim< Dimensionality, DimensionType >::operator[] |
( |
const size_type & | dimension | ) |
|
|
inlinenoexcept |
◆ operator!=
bool operator!= |
( |
const dim< 1u, DimensionType > & | x, |
|
|
const dim< 1u, DimensionType > & | y ) |
|
friend |
Checks if two dim objects are not equal.
- Parameters
-
x | first object |
y | second object |
- Returns
- false if and only if all dimensions of both objects are equal.
◆ operator*
dim operator* |
( |
const dim< 1u, DimensionType > & | x, |
|
|
const dim< 1u, DimensionType > & | y ) |
|
friend |
Multiplies two dim objects.
- Parameters
-
x | first object |
y | second object |
- Returns
- a dim object representing the size of the tensor product
x * y
◆ operator<<
std::ostream & operator<< |
( |
std::ostream & | os, |
|
|
const dim< 1u, DimensionType > & | x ) |
|
friend |
A stream operator overload for dim.
- Parameters
-
os | stream object |
x | dim object |
- Returns
- a stream object appended with the dim output
◆ operator==
bool operator== |
( |
const dim< 1u, DimensionType > & | x, |
|
|
const dim< 1u, DimensionType > & | y ) |
|
friend |
Checks if two dim objects are equal.
- Parameters
-
x | first object |
y | second object |
- Returns
- true if and only if all dimensions of both objects are equal.
The documentation for this struct was generated from the following file: