is_layout
Product Support
Product |
Supported |
|---|---|
√ |
|
√ |
|
x |
|
x |
|
x |
|
x |
Function
Determines whether an input data structure is of the Layout type by checking the value of its member constant value. If value is true, the input data structure is of the Layout type; otherwise, it is not.
Prototype
1 | template <typename T> struct is_layout |
Parameters
Parameter |
Description |
|---|---|
T |
Whether the input data structure is of the Layout type based on the input data type. |
Returns
None
Restrictions
None
Example
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