nis-util
1.0.D108
|
00001 // 00002 // nis-util - NIS Administration Utilities 00003 // Copyright (C) 2012 Peter Miller 00004 // 00005 // This program is free software; you can redistribute it and/or modify 00006 // it under the terms of the GNU General Public License as published by 00007 // the Free Software Foundation; either version 2 of the License, or (at 00008 // your option) any later version. 00009 // 00010 // This program is distributed in the hope that it will be useful, 00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 // General Public License for more details. 00014 // 00015 // You should have received a copy of the GNU General Public License along 00016 // with this program. If not, see <http://www.gnu.org/licenses/>. 00017 // 00018 00019 #include <lib/arglex/source/pushback.h> 00020 00021 00022 arglex_source_pushback::~arglex_source_pushback() 00023 { 00024 } 00025 00026 00027 arglex_source_pushback::arglex_source_pushback( 00028 const source_location &a_locn, 00029 const rcstring &a_text 00030 ) : 00031 locn(a_locn), 00032 text(a_text), 00033 used_up(false) 00034 { 00035 } 00036 00037 00038 arglex_source_pushback::pointer 00039 arglex_source_pushback::create(const source_location &a_locn, 00040 const rcstring &a_text) 00041 { 00042 return pointer(new arglex_source_pushback(a_locn, a_text)); 00043 } 00044 00045 00046 bool 00047 arglex_source_pushback::next(source_location &result_locn, rcstring &result) 00048 { 00049 result_locn = locn; 00050 if (used_up) 00051 return false; 00052 result = text; 00053 used_up = true; 00054 return true; 00055 } 00056 00057 00058 // vim: set ts=8 sw=4 et :