本文整理汇总了C++中AttributeValueList::Number方法的典型用法代码示例。如果您正苦于以下问题:C++ AttributeValueList::Number方法的具体用法?C++ AttributeValueList::Number怎么用?C++ AttributeValueList::Number使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AttributeValueList
的用法示例。
在下文中一共展示了AttributeValueList::Number方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: execute
void JoinStrFunc::execute() {
ComValue listv(stack_arg(0));
static int sym_symid = symbol_add("sym");
ComValue symflagv(stack_key(sym_symid));
boolean symflag = symflagv.is_true();
reset_stack();
if (listv.is_array()) {
AttributeValueList* avl = listv.array_val();
if (avl) {
char cbuf[avl->Number()+1];
Iterator i;
int cnt=0;
for (avl->First(i); !avl->Done(i); avl->Next(i)) {
cbuf[cnt] = avl->GetAttrVal(i)->char_val();
cnt++;
}
cbuf[cnt] = '\0';
ComValue retval(symbol_add(cbuf), symflag ? ComValue::SymbolType : ComValue::StringType);
push_stack(retval);
return;
}
}
push_stack(ComValue::nullval());
}
示例2: get_transformer
Transformer* CreateGraphicFunc::get_transformer(AttributeList* al) {
static int transform_symid = symbol_add("transform");
AttributeValue* transformv = nil;
Transformer* rel = nil;
AttributeValueList* avl = nil;
if (al &&
(transformv=al->find(transform_symid)) &&
transformv->is_array() &&
(avl=transformv->array_val()) &&
avl->Number()==6) {
float a00, a01, a10, a11, a20, a21;
Iterator it;
avl->First(it); a00=avl->GetAttrVal(it)->float_val();
avl->Next(it); a01=avl->GetAttrVal(it)->float_val();
avl->Next(it); a10=avl->GetAttrVal(it)->float_val();
avl->Next(it); a11=avl->GetAttrVal(it)->float_val();
avl->Next(it); a20=avl->GetAttrVal(it)->float_val();
avl->Next(it); a21=avl->GetAttrVal(it)->float_val();
rel = new Transformer(a00, a01, a10, a11, a20, a21);
} else {
rel = ((OverlayViewer*)_ed->GetViewer())->GetRel();
if (rel != nil) {
rel = new Transformer(rel);
rel->Invert();
}
}
return rel;
}