Further SG stream APIs

This commit is contained in:
James Turner 2016-06-27 12:29:14 -05:00
parent a8d8158fac
commit cfe1c0933f
2 changed files with 25 additions and 6 deletions

View File

@ -198,12 +198,23 @@ sg_gzofstream::attach( int fd, ios_openmode io_mode )
sg_ifstream::sg_ifstream(const SGPath& path, ios_openmode io_mode)
{
std::string ps = path.local8BitStr();
open(ps.c_str(), io_mode);
std::ifstream::open(ps.c_str(), io_mode);
}
void sg_ifstream::open( const SGPath& name, ios_openmode io_mode )
{
std::string ps = name.local8BitStr();
std::ifstream::open(ps.c_str(), io_mode);
}
sg_ofstream::sg_ofstream(const SGPath& path, ios_openmode io_mode)
{
std::string ps = path.local8BitStr();
open(ps.c_str(), io_mode);
}
std::ofstream::open(ps.c_str(), io_mode);
}
void sg_ofstream::open( const SGPath& name, ios_openmode io_mode )
{
std::string ps = name.local8BitStr();
std::ofstream::open(ps.c_str(), io_mode);
}

View File

@ -93,8 +93,8 @@ public:
private:
// Not defined!
sg_gzifstream( const sg_gzifstream& );
void operator= ( const sg_gzifstream& );
sg_gzifstream( const sg_gzifstream& );
void operator= ( const sg_gzifstream& );
};
/**
@ -175,14 +175,22 @@ private:
class sg_ifstream : public std::ifstream
{
public:
sg_ifstream() {}
sg_ifstream(const SGPath& path, ios_openmode io_mode = ios_in | ios_binary);
void open( const SGPath& name,
ios_openmode io_mode = ios_in|ios_binary );
};
class sg_ofstream : public std::ofstream
{
public:
sg_ofstream() { }
sg_ofstream(const SGPath& path, ios_openmode io_mode = ios_out | ios_binary);
void open( const SGPath& name,
ios_openmode io_mode = ios_out|ios_binary );
};
#endif /* _SGSTREAM_HXX */