Пример #1
0
int main(){
	std::ifstream is(in_file, std::ifstream::binary);
	std::ofstream os(out_file, std::ofstream::binary);
	boost::uint32_t current_time = 0;
	if (is){
		while (!is.eof()){
			binary_reader::market_message *message = new binary_reader::market_message(is);
			if (!is.eof() && isAllowedType(*message)){
				if (current_time < message->time()){
					current_time = message->time();
				}
				(buffers_container[message->type()]).write(*message);
			}
		}
		std::map<boost::uint32_t, buffer>::iterator it;
		it = buffers_container.begin();

		while (it != buffers_container.end()){
			boost::uint32_t type = (*it).first;
			double average = static_cast<double>((*it).second.count()) / static_cast<double>(current_time);
			os.write(reinterpret_cast<char*>(&type), sizeof(type));
			os.write(reinterpret_cast<char*>(&average), sizeof(average));
			std::cout << "type:" << type << ", average:" << average << std::endl;
			it++;
		}
		is.close();
		os.close();
	}
	else {
		std::cout << "No input file found " << in_file << std::endl;
	}
}
Пример #2
0
bool Nuria::Serializer::readField (void *object, Nuria::MetaField &field, QVariantMap &data) {
	QVariant value = field.read (object);
	QString name = QString::fromLatin1 (field.name ());
	
	if (isAllowedType (value.userType ()) ||
	    this->d->additionalTypes.contains (field.typeName ())) {
		data.insert (name, value);
		return true;
	}
	
	bool ignore = false;
	if (fieldToVariant (value, ignore)) {
		
		if (!ignore) {
			data.insert (name, value);
		}
		
		return true;
	}
	
	return false;
}