//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//
// $Id$
#include "iochannel.hxx"
-SG_USING_STD(string);
+using std::string;
/**
string file_name;
int fp;
+ bool eof_flag;
+ // Number of repetitions to play. -1 means loop infinitely.
+ const int repeat;
+ int iteration; // number of current repetition,
+ // starting at 0
public:
* name. This file is not opened immediately, but instead will be
* opened when the open() method is called.
* @param file name of file to open
+ * @param repeat On eof restart at the beginning of the file
*/
- SGFile( const string& file );
+ SGFile( const string& file, int repeat_ = 1 );
/** Destructor */
~SGFile();
/** @return the name of the file being manipulated. */
inline string get_file_name() const { return file_name; }
+
+ /** @return true of eof conditions exists */
+ inline bool eof() const { return eof_flag; };
};