void CSMFile::clear() { header.clear(); cameraData.clear(); u32 x =0; for( x= 0; x < groups.size(); x++) delete groups[x]; groups.clear(); for(x= 0; x < visgroups.size(); x++) delete visgroups[x]; visgroups.clear(); for(x= 0; x < lightmaps.size(); x++) delete lightmaps[x]; lightmaps.clear(); for(x= 0; x < meshes.size(); x++) delete meshes[x]; meshes.clear(); for(x= 0; x < entities.size(); x++) delete entities[x]; entities.clear(); }
Header parseHeader(const std::string& headers) { Header header; std::vector<std::string> lines; std::istringstream stream(headers); { std::string line; while (std::getline(stream, line, '\n')) { lines.push_back(line); } } for (auto& line : lines) { if (line.substr(0, 5) == "HTTP/") { header.clear(); } if (line.length() > 0) { auto found = line.find(":"); if (found != std::string::npos) { auto value = line.substr(found + 2, line.length() - 1); if (value.back() == '\r') { value = value.substr(0, value.length() - 1); } header[line.substr(0, found)] = value; } } } return header; }