本文整理汇总了C++中Transformable::clear方法的典型用法代码示例。如果您正苦于以下问题:C++ Transformable::clear方法的具体用法?C++ Transformable::clear怎么用?C++ Transformable::clear使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Transformable
的用法示例。
在下文中一共展示了Transformable::clear方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: unserialize
unsigned long Serialization::unserialize(const std::vector<char> &buf, Transformable &tr_data, unsigned long start_loc)
{
// delete all existing items
tr_data.clear();
unsigned long names_arg_sz;
unsigned long n_rec;
unsigned long bytes_read;
size_t i_start = 0;
// get size of names record
i_start = start_loc;
w_memcpy_s(&names_arg_sz, sizeof(names_arg_sz), buf.data()+i_start, sizeof(names_arg_sz));
i_start += sizeof(names_arg_sz);
unique_ptr<char[]> names_buf(new char[names_arg_sz]);
w_memcpy_s(names_buf.get(), sizeof(char)*names_arg_sz, buf.data()+i_start, sizeof(char)*names_arg_sz);
i_start += sizeof(char)*names_arg_sz;
w_memcpy_s(&n_rec, sizeof(n_rec), buf.data()+i_start, sizeof(n_rec));
i_start += sizeof(n_rec);
// build transformable data set
double *value_ptr = (double *) ( buf.data()+i_start);
vector<string> names_vec;
tokenize(strip_cp(string(names_buf.get(), names_arg_sz)), names_vec);
assert(names_vec.size() == n_rec);
for (unsigned long i=0; i< n_rec; ++i)
{
tr_data.insert(names_vec[i], *(value_ptr+i));
}
bytes_read = i_start + n_rec * sizeof(double);
return bytes_read;
}
示例2: read_data_file
void read_data_file(const string &filename, Transformable &data)
{
ifstream fin;
fin.open(filename);
string line;
string name;
double value;
data.clear();
while (getline(fin, line))
{
vector<string> tokens;
pest_utils::strip_ip(line);
if (!line.empty() && line[0] != '#')
{
pest_utils::tokenize(line, tokens);
name = pest_utils::upper_cp(tokens[0]);
pest_utils::convert_ip(tokens[1], value);
data.insert(name, value);
}
}
fin.close();
}