//
// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
//
// The contents of this file are covered under the licence agreement in the
// file "LICENCE" distributed with Cforall.
//
// fstream -- 
//
// Author           : Richard C. Bilson
// Created On       : Wed May 27 17:56:53 2015
// Last Modified By : Peter A. Buhr
// Last Modified On : Wed Feb 17 14:02:01 2016
// Update Count     : 22
//

#ifndef __FSTREAM_H__
#define __FSTREAM_H__

#include "iostream"

// implement context ostream
struct ofstream;

int fail( ofstream * os );
int flush( ofstream * os );
void open( ofstream ** os, const char * name, const char * mode );
void close( ofstream * os );
ofstream * write( ofstream * os, const char * data, streamsize_type size );

extern ofstream * sout, * serr;

// implement context istream
struct ifstream;

int fail( ifstream * is );
int eof( ifstream * is );
void open( ifstream ** is, const char * name, const char * mode );
void close( ifstream * is );
ifstream * get( ifstream * is, int * data );
ifstream * read( ifstream * is, char * data, streamsize_type size );
ifstream * ungetc( ifstream * is, char c );

extern ifstream *sin;

#endif // __FSTREAM_H__

// Local Variables: //
// mode: c //
// tab-width: 4 //
// End: //
