is_layout
Applicability
Product |
Supported |
|---|---|
Atlas 350 Accelerator Card |
x |
√ |
|
√ |
|
x |
|
x |
|
x |
|
x |
Function Usage
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
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