00001 /* 00002 * Copyright (c) 1998,1999,2000,2001,2002 Tal Davidson. All rights reserved. 00003 * 00004 * compiler_defines.h (1 January 1999) 00005 * by Tal Davidson (davidsont@bigfoot.com) 00006 * This file is a part of "Artistic Style" - an indentater and reformatter 00007 * of C, C++, C# and Java source files. 00008 * 00009 * The "Artistic Style" project, including all files needed to compile it, 00010 * is free software; you can redistribute it and/or use it and/or modify it 00011 * under the terms of the GNU General Public License as published 00012 * by the Free Software Foundation; either version 2 of the License, 00013 * or (at your option) any later version. 00014 * 00015 * This program is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00018 * 00019 * You should have received a copy of the GNU General Public 00020 * License along with this program. 00021 */ 00022 00023 00024 #ifndef ASSTREAMITERATOR_H 00025 #define ASSTREAMITERATOR_H 00026 00027 #include "ASSourceIterator.h" 00028 00029 using namespace std; 00030 00031 namespace astyle 00032 { 00033 class ASStreamIterator : 00034 public ASSourceIterator 00035 { 00036 public: 00037 ASStreamIterator(istream *in); 00038 virtual ~ASStreamIterator(); 00039 bool hasMoreLines() const; 00040 string nextLine(); 00041 00042 private: 00043 istream * inStream; 00044 char buffer[2048]; 00045 }; 00046 00047 } 00048 00049 #endif