// // aegis - project change supervisor // Copyright (C) 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 iformat_patch_not::~iformat_patch_not() { } iformat_patch_not::iformat_patch_not(const iformat::pointer &a_source) : iformat(a_source->get_deeper()), source(a_source) { } iformat_patch_not::pointer iformat_patch_not::create(const iformat::pointer &a_deeper) { return pointer(new iformat_patch_not(a_deeper)); } iformat::token_t iformat_patch_not::get_token_inner(nstring &name, input::pointer &value) { for (;;) { token_t tok = source->get_next_token(); name = source->get_current_name(); value = source->get_current_value(); switch (tok) { case token_patch: output_bit_bucket::create() << value; name.clear(); value.reset(); continue; case token_source: case token_eof: case token_partition: case token_project_name: case token_change_number: case token_meta_data: default: break; } return tok; } } // vim: set ts=8 sw=4 et :