本文整理汇总了C++中initializer_list类的典型用法代码示例。如果您正苦于以下问题:C++ initializer_list类的具体用法?C++ initializer_list怎么用?C++ initializer_list使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了initializer_list类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addCell
// // //Add cell to the list
void addCell(initializer_list<int_8 > l) {
if (l.size() == 2) {
listCell.emplace_back( shared_ptr<Cell > (new Line(l)) );
// //listCell.emplace_back(shared_ptr<Cell > (new Line(tmp)) );
} else if (l.size() == 3) {
// //listCell.emplace_back(shared_ptr<Cell > (new Tri(tmp)) );
} else if (l.size() == 4) {
listCell.emplace_back( shared_ptr<Cell > (new Quad(l)) );
} else if (l.size() == 8) {
//listCell.emplace_back( shared_ptr<Cell > (new Hexa(tmp)) );
} else {
cout << "Cell type not understood!"<<endl;
exit(1);
}
nCellSize += l.size() + 1;
auto c = *(listCell.rbegin());
c->id = listCell.size()-1;
c->grid = this;
c->assignCelltoNode();
for (auto v: listVar) {
if (v->loc == 0) {
v->data.push_back(0);
v->data.uncompress();
}
}
c->masterx.resize(levelHighBound[0]+1, false);
c->mastery.resize(levelHighBound[1]+1, false);
c->masterz.resize(levelHighBound[2]+1, false);
}
示例2: makeSum
int makeSum(initializer_list<int> lst)
{
int total = 0;
for(auto iter = lst.begin(); iter!=lst.end(); ++iter)
total += (*iter);
return total;
}
示例3: PointSequence
PointSequence(initializer_list<double> args)
{
if (args.size() % 2 != 0)
throw invalid_argument("initializer_list should contain even number of elements.");
for (auto iter = args.begin(); iter != args.end(); ++iter)
mVecPoints.push_back(*iter);
}
示例4: Animation
Animation(int x, int y, initializer_list<char> chars, int speed = 5) : speed(speed), frame(1), counter(0)
{
Collision = true;
Pos.Set(x, y);
for(auto i = chars.begin(); i != chars.end(); ++i) frames.push_back(*i);
Visual = frames[0];
}
示例5: range_error
SparseVector::SparseVector(long size, long default_val, initializer_list<pair<long,long> > list)
{
if (size < 0) {
throw range_error("SparseVector size cannot be negative.");
} else {
fixed_size_ = size;
unset_val_ = default_val;
}
long count = 0;
for (auto i = list.begin(); i != list.end(); i++) {
if (i->first < (fixed_size_ - 1) && i->first >= 0) {
if (i->second != unset_val_) {
data_[i->first] = data_[i->second];
}
} else {
throw range_error("Cannot set value at an index greater than the size - 1 or less than 0.");
}
++count;
}
}
示例6: invalid_argument
EvenSequenceStr::EvenSequenceStr(initializer_list<string> args)
{
if (args.size() % 2 != 0)
throw invalid_argument(" initializer_list should contain even number of elements!");
sSequence.reserve(args.size());
//for (auto value : args) sSequence.push_back(value);
sSequence.insert(cend(sSequence), cbegin(args), cend(args)); // alternate to the above for loop
}
示例7: Function
Function(const char* name, const char* returns, initializer_list<char*> takes, const char* description) : Type(name) {
this->takes = new char*[takes.size() + 1];
int index = 0;
for (auto i : takes) { this->takes[index++] = i; }
this->takes[takes.size()] = 0;
this->returns = returns;
this->description = description;
}
示例8: Vector
Vector(initializer_list<T> list) : size{list.size()}
{
cout << "initializer list constructor" << endl;
int i = 0;
a.reset(new T[size]);
for (auto iter = list.begin(); iter != list.end(); ++iter, ++i)
a.get()[i] = *iter;
}
示例9:
StrVec::StrVec(initializer_list<string> il)
{
reallocate(il.size());
auto p = begin_iter;
for (auto beg = il.begin(); beg != il.end(); ++beg)
alloc.construct(p++, *beg);
end_iter = p;
}
示例10: cal_sum
int cal_sum(initializer_list<int> &list)
{
int sum = 0;
for (auto i = list.begin(); i != list.end(); ++i) {
sum += *i;
}
return sum;
}
示例11: summation
int summation(initializer_list<int> val)
{
int ret = 0;
for (auto beg = val.begin(); beg != val.end(); ++beg)
{
ret += *beg;
}
return ret;
}
示例12:
Image::Image(int _rows,int _cols,initializer_list<float> _data):rows(_rows),cols(_cols){
this->allocate();
#if IMAGE_SAFE == 1
assert(_data.size() == rows*cols);
#endif
std::copy(_data.begin(), _data.end(), data.get());
}
示例13: sizeof
Vector::Vector(initializer_list<double> args)
{
auto it = args.begin();
element_count = args.size();
memory_size = element_count * 2;
vector = (double*)malloc(memory_size * sizeof(double));
int i;
for (it, i = 0; it != args.end(); it++, i++)
vector[i] = *it;
}
示例14: CreateWorld
//local->world
Matrix44 TransformHelper::CreateWorld(initializer_list<Matrix44> matrixOrder)
{ //스케일, 자전, 이동, 공전, 부모 순으로 넣으면 된다.
Matrix44 matWorld;
for( auto iter = matrixOrder.begin(); iter != matrixOrder.end(); ++iter )
{
matWorld = (*iter) * matWorld;
}
return matWorld;
}
示例15: owner
Army::Army(Player* owner, initializer_list<Unit*> units) : owner(owner), isPatrol(false), position(Position(-1, -1, ARCANUS)), route(nullptr)
{
owner->add(this);
for (auto u : units)
add(u);
if (units.begin() != units.end())
updateMovementType();
}