// // aegis - project change supervisor // Copyright (C) 2001, 2002, 2004-2006, 2008, 2012, 2014 Peter Miller // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 3 of the License, or (at // your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // #include #include #include change_set_file_list::change_set_file_list() { } change_set_file_list::~change_set_file_list() { } void change_set_file_list::validate(void) const { assert(valid()); } bool change_set_file_list::valid(void) const { if (!this) return false; for ( content_t::const_iterator it = content.begin(); it != content.end(); ++it ) { if (!it->valid()) return false; } return true; } void change_set_file_list::push_back(const change_set_file &csf) { // // If we already have the file, just update the edit number. // // FIXME: would a std::map be faster? // or a symtab<> ? // for (content_t::iterator it = content.begin(); it != content.end(); ++it) { if (it->filename == csf.filename) { it->merge(csf); return; } } content.push_back(csf); } void change_set_file_list::clear(void) { content.clear(); } // vim: set ts=8 sw=4 et :