is_layout
Supported Products
Product |
Supported (√/x) |
|---|---|
√ |
|
√ |
|
x |
|
x |
|
x |
|
x |
Functions
determines whether the input data structure is the layout data structure by checking the value of its member constant value. If value is set to true, the input data structure is of the layout type. Otherwise, the input data structure is not of the layout type.
Prototype
1 | template <typename T> struct is_layout |
Parameters
Parameter |
Description |
|---|---|
T |
Checks whether the input data structure is a layout data structure based on the input data type. |
Returns
None
Restrictions
None
Examples
1 2 3 4 5 6 7 8 9 10 11 12 | // Initialize the layout data structure and determine its type. AscendC::Shape<int,int,int> shape = AscendC::MakeShape(10, 20, 30); AscendC::Stride<int,int,int> stride = AscendC::MakeStride(1, 100, 200); auto layoutMake = AscendC::MakeLayout(shape, stride); AscendC::Layout<AscendC::Shape<int, int, int>, AscendC::Stride<int, int, int>> layoutInit(shape, stride); bool value = AscendC::is_layout<decltype(shape)>::value; //value = false value = AscendC::is_layout<decltype(stride)>::value; //value = false value = AscendC::is_layout<decltype(layoutMake)>::value;//value = true value = AscendC::is_layout<decltype(layoutInit)>::value;//value = true |
Parent topic: Layout