本文整理汇总了C++中tuple::size方法的典型用法代码示例。如果您正苦于以下问题:C++ tuple::size方法的具体用法?C++ tuple::size怎么用?C++ tuple::size使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tuple
的用法示例。
在下文中一共展示了tuple::size方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: make_broadcast
std::string array::make_broadcast(const tuple &shape)
{
std::string result = "at(";
for(size_t i = 0 ; i < shape.size() ; ++i)
result += ((result.back()=='(')?"arg":",arg") + tools::to_string(i);
result += ") : at(";
for(size_t i = 0 ; i < shape.size() ; ++i)
if(shape[i] > 1)
result += ((result.back()=='(')?"arg":",arg") + tools::to_string(i);
result += ")";
return result;
}
示例2:
Couple::Couple(string key, const tuple &tuple)
:key(key)
{
for(int i = 0; i < tuple.size(); i++) {
values.push_back(tuple[i].c_str());
}
}
示例3: array
buffer::buffer(driver::Context const & context, std::string const & scalartype, unsigned int id, const tuple &shape, tuple const & strides) : array(context, scalartype, id), dim_(numgt1(shape))
{
//Attributes
attributes_["off"] = process("#name_off");
for(unsigned int i = 0 ; i < dim_ ; ++i){
std::string inc = "inc" + tools::to_string(i);
attributes_[inc] = process("#name_" + inc);
}
//Access
std::vector<std::string> args;
for(unsigned int i = 0 ; i < dim_ ; ++i)
args.push_back("x" + tools::to_string(i));
std::string off = "#off";
for(unsigned int i = 0 ; i < dim_ ; ++i)
{
std::string inc = "#inc" + tools::to_string(i);
off += " + (" + args[i] + ")*" + inc;
}
macros_.insert("at(" + tools::join(args, ",") + "): #pointer[" + off + "]");
//Broadcast
if(numgt1(shape)==0)
macros_.insert("at(i): at()");
if(dim_!=shape.size())
macros_.insert(make_broadcast(shape));
add_base("buffer");
add_load(strides[0]==1 && shape[0]>1);
}