On 7/26/06, Erik de Castro Lopo <mle+la(a)mega-nerd.com> wrote:
Taybin Rutkin wrote:
I prefer the unix-y open_read(). I don't
think method names should
ever start with a capital, unless it's the ctor or dtor.
I'm actually tending towards openRead().
I vote for Java (SmallTalk?) style too.
I noticed that
the constructor SndFile::SndFile (const char *path,
int mode, SF_INFO *sfinfo)
isn't declared in the class. Also, since this constructor can fail
if sf_open() fails up, it should throw an exception. Maybe
containing the results of sf_strerror().
Something like
SndFile::SndFile (const char *path, int mode, SF_INFO *sfinfo)
{
psf = sf_open (path, mode, sfinfo) ;
if (!psf) {
throw sf_error(psf);
}
}
Good tip, thanks.
Erik
--
+-----------------------------------------------------------+
Erik de Castro Lopo
+-----------------------------------------------------------+
"If you think C++ is not overly complicated, just what is a
protected abstract virtual base pure virtual private destructor
and when was the last time you needed one?" -- Tom Cargill
I wouldn't bother with openRead/Write; just pass the mode in to open
like in the ctor.
I also second keeping the implementation entirely in the header (if it
really is a light wrapper) and put "inline" in front of each method
definition.
SndFile::strerror() should maybe take an int arg (the value returned
by SndFile::error()) and be declared as a static method?