昇腾社区首页
中文
注册

get

功能说明

get的作用是从tuple容器中提取指定位置的元素。

函数原型

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
template <size_t N, typename ...Tps>
__aicore__ inline typename tuple_element<N, tuple<Tps...> >::type& get(tuple<Tps...>& t) noexcept;

template <size_t N, typename ...Tps>
__aicore__ inline const typename tuple_element<N, tuple<Tps...> >::type& get(const tuple<Tps...>& t) noexcept;

template <size_t N, typename ...Tps>
__aicore__ inline typename tuple_element<N, tuple<Tps...> >::type&& get(tuple<Tps...>&& t) noexcept;

template <size_t N, typename ...Tps>
__aicore__ inline const typename tuple_element<N, tuple<Tps...> >::type&& get(const tuple<Tps...>&& t) noexcept;

参数说明

表1 模板参数说明

参数名

含义

N

N是一个编译时常量,代表要提取元素的索引。索引从0开始,取值范围为[0,64)。

Tps...

Tps...为传入tuple的模板参数包,tuple参数个数范围为(0,64]。

Atlas A2 训练系列产品/Atlas 800I A2 推理产品,支持的数据类型为:int4b_t,int8_t,uint8_t,int16_t,uint16_t,int32_t,uint32_t,uint64_t,int64_t,half,float,bfloat16_t,bool,LocalTensor,GlobalTensor

t

t是tuple对象,可以是左值引用、常量左值引用或右值引用。

支持的型号

Atlas A2 训练系列产品/Atlas 800I A2 推理产品

约束说明

get函数仅支持const和constexpr常量索引,索引的取值范围为[0, 64)。

返回值

tuple对象中对应位置的元素。

调用示例

1
2
AscendC::Std::tuple<uint32_t, float, bool> test{11, 2.2, true};
uint32_t const_uint32_t = AscendC::Std::get<0>(test);

更多调用示例请参见示例