本文整理汇总了C++中ListBox::cons方法的典型用法代码示例。如果您正苦于以下问题:C++ ListBox::cons方法的具体用法?C++ ListBox::cons怎么用?C++ ListBox::cons使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ListBox
的用法示例。
在下文中一共展示了ListBox::cons方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
// Cons lists
static Box *op_cons(ListBox *args)
{
ListBox *ret = 0;
for (ListBox *b = args; !b->isEmpty(); b = b->tail())
{
Box *box = b->head();
if (!box->isListBox())
{
VSLLib::eval_error("invalid argument -- argument is list");
if (ret)
ret->unlink();
return 0;
}
if (!((ListBox *)box)->isEmpty())
{
// Create list to append
// If box is last arg, a link suffices
ListBox *box2;
if (b->tail()->isEmpty())
box2 = (ListBox *)box->link();
else
box2 = (ListBox *)box->dup();
// Append list:
// If box is first arg, copy box
if (ret == 0)
ret = box2;
else
{
ret->cons(box2);
box2->unlink();
}
}
}
// No args? return []
if (ret == 0)
ret = new ListBox;
return ret;
}