RE: Announcing netcdf c++ wrapper library

Hi Fie, next time you bundle a tarball, make the build script executable. You 
also may want to consider making a configure script. 
 
I have netCDF-3.6.1 installed and get the errors below on my Fedora 64 bit 
Linux server. Is there a missing class?
 
Thank you,
 
Dr. John M. Huddleston
 
 
ncatt.h: In function ÃâËT feiliu::get_att_value(NcAtt*)Ãââ:
ncatt.h:101: error: there are no arguments to ÃâËassertÃââ that depend on a 
template parameter, so a declaration of ÃâËassertÃââ must be available
ncatt.h:101: error: (if you use ÃâË-fpermissiveÃââ, G++ will accept your code, 
but allowing the use of an undeclared name is deprecated)
ncatt.h:112: error: there are no arguments to ÃâËassertÃââ that depend on a 
template parameter, so a declaration of ÃâËassertÃââ must be available
ONetCDFFile.h: In member function ÃâËNcVar* feiliu::ONetCDFFile::copy_var(const 
NcVar*, T*, const size_t*, const size_t*)Ãââ:
ONetCDFFile.h:78: error: there are no arguments to ÃâËassertÃââ that depend on 
a template parameter, so a declaration of ÃâËassertÃââ must be available
ONetCDFFile.h:81: error: there are no arguments to ÃâËassertÃââ that depend on 
a template parameter, so a declaration of ÃâËassertÃââ must be available
ONetCDFFile.h: In member function ÃâËNcVar* feiliu::ONetCDFFile::copy_var(const 
NcVar*, T*, const size_t*, const size_t*) [with T = const double]Ãââ:
ncio.h:116:   instantiated from ÃâËvoid feiliu::write_data(NcFile*, NcVar*, 
feiliu::ONetCDFFile*, const feiliu::array<T>&, size_t*, size_t*, bool) [with T 
= double]Ãââ
ncio.h:139:   instantiated from ÃâËvoid feiliu::write_data(NcFile*, NcVar*, 
feiliu::ONetCDFFile*, const feiliu::array<T>&, bool) [with T = double]Ãââ
ncio.h:150:   instantiated from ÃâËvoid feiliu::write_data(NcFile*, const 
char*, feiliu::ONetCDFFile*, const feiliu::array<T>&, bool) [with T = double]Ãââ
testnclib.cpp:46:   instantiated from here
ONetCDFFile.h:75: error: ÃâËassertÃââ was not declared in this scope
ncatt.h: In function ÃâËT feiliu::get_att_value(NcAtt*)Ãââ:
ncatt.h:101: error: there are no arguments to ÃâËassertÃââ that depend on a 
template parameter, so a declaration of ÃâËassertÃââ must be available
ncatt.h:101: error: (if you use ÃâË-fpermissiveÃââ, G++ will accept your code, 
but allowing the use of an undeclared name is deprecated)
ncatt.h:112: error: there are no arguments to ÃâËassertÃââ that depend on a 
template parameter, so a declaration of ÃâËassertÃââ must be available
ONetCDFFile.h: In member function ÃâËNcVar* feiliu::ONetCDFFile::copy_var(const 
NcVar*, T*, const size_t*, const size_t*)Ãââ:
ONetCDFFile.h:78: error: there are no arguments to ÃâËassertÃââ that depend on 
a template parameter, so a declaration of ÃâËassertÃââ must be available
ONetCDFFile.h:81: error: there are no arguments to ÃâËassertÃââ that depend on 
a template parameter, so a declaration of ÃâËassertÃââ must be available
ONetCDFFile.cpp: In member function ÃâËvirtual NcDim* 
feiliu::ONetCDFFile::add_dim(const char*, long int)Ãââ:
ONetCDFFile.cpp:20: error: ÃâËassertÃââ was not declared in this scope
ONetCDFFile.cpp: In member function ÃâËvirtual NcDim* 
feiliu::ONetCDFFile::add_dim(const char*)Ãââ:
ONetCDFFile.cpp:32: error: ÃâËassertÃââ was not declared in this scope
ONetCDFFile.cpp: In member function ÃâËvirtual NcDim* 
feiliu::ONetCDFFile::add_dim(const NcDim*)Ãââ:
ONetCDFFile.cpp:45: error: ÃâËassertÃââ was not declared in this scope
ONetCDFFile.cpp: In member function ÃâËvirtual NcVar* 
feiliu::ONetCDFFile::add_var(const char*, NcType, const NcDim*, const NcDim*, 
const NcDim*, const NcDim*, const NcDim*)Ãââ:
ONetCDFFile.cpp:59: error: ÃâËassertÃââ was not declared in this scope
ONetCDFFile.cpp: In member function ÃâËvirtual NcVar* 
feiliu::ONetCDFFile::add_var(const char*, NcType, int, const NcDim**)Ãââ:
ONetCDFFile.cpp:72: error: ÃâËassertÃââ was not declared in this scope
ONetCDFFile.cpp: In member function ÃâËvirtual NcVar* 
feiliu::ONetCDFFile::add_var(const NcVar*)Ãââ:
ONetCDFFile.cpp:85: error: ÃâËassertÃââ was not declared in this scope
ONetCDFFile.cpp: In member function ÃâËvirtual NcVar* 
feiliu::ONetCDFFile::copy_var(NcVar*)Ãââ:
ONetCDFFile.cpp:107: error: ÃâËassertÃââ was not declared in this scope
ONetCDFFile.cpp: In member function ÃâËvirtual NcVar* 
feiliu::ONetCDFFile::copy_var(const NcVar*, void*)Ãââ:
ONetCDFFile.cpp:154: error: ÃâËassertÃââ was not declared in this scope
ONetCDFFile.cpp: In member function ÃâËvirtual bool 
feiliu::ONetCDFFile::add_att(NcAtt*)Ãââ:
ONetCDFFile.cpp:196: error: ÃâËassertÃââ was not declared in this scope
ncatt.h: In function ÃâËbool feiliu::copy_ncatt(T*, NcAtt*) [with T = NcVar]Ãââ:
ONetCDFFile.cpp:99:   instantiated from here
ncatt.h:39: error: ÃâËassertÃââ was not declared in this scope
ncatt.h: In function ÃâËbool feiliu::copy_ncatt(T*, NcAtt*) [with T = 
feiliu::ONetCDFFile]Ãââ:
ONetCDFFile.cpp:208:   instantiated from here
ncatt.h:39: error: ÃâËassertÃââ was not declared in this scope
ncatt.h: In function ÃâËT feiliu::get_att_value(NcAtt*)Ãââ:
ncatt.h:101: error: there are no arguments to ÃâËassertÃââ that depend on a 
template parameter, so a declaration of ÃâËassertÃââ must be available
ncatt.h:101: error: (if you use ÃâË-fpermissiveÃââ, G++ will accept your code, 
but allowing the use of an undeclared name is deprecated)
ncatt.h:112: error: there are no arguments to ÃâËassertÃââ that depend on a 
template parameter, so a declaration of ÃâËassertÃââ must be available
ncatt.cpp: In function ÃâËchar* feiliu::get_att_string(NcAtt*)Ãââ:
ncatt.cpp:4: error: ÃâËassertÃââ was not declared in this scope
 

        -----Original Message----- 
        From: owner-netcdfgroup@xxxxxxxxxxxxxxxx on behalf of Fei Liu 
        Sent: Thu 4/6/2006 12:28 PM 
        To: Russ Rew 
        Cc: Fei Liu; netcdfgroup@xxxxxxxxxxxxxxxx; Hanson, Kurt 
        Subject: Announcing netcdf c++ wrapper library
        
        

        Hi Group,
        
        netcdf c++ wrapper library is a library around existing netcdf c++
        library provided by unidata. It can be downloaded directly from here:
        ftp://ftp.gfdl.noaa.gov/pub/fil/netcdflib.tgz
        
        This library introduces a few key modern c++ techniques to class design
        and interface design. A new class, ONetCDFFile::NcFile, is introduced to
        make writing a netCDF file much easier based on an existing input netCDF
        file. This class contains template member functions that copies netCDF
        variables from input file to output file. It also provides book keeping
        records of attributes, dimensions, variables copied from one file to
        another.
        
        ncatt.h and ncatt.cpp captures key methods to copy attributes from a 
input
        object (NcFile or NcVar) to an output object. This wrapper uses facade
        design to provide a unified function interface. It also provides a
        template member function to easily retrieve value of a given attribute.
        
        ncio.h provides template functions to read and write data from/to a 
netCDF
        file. This class is tightly coupled with array.h. array.h is a small and
        efficient multiple dimension array implementation. Its access methods
        resembles fortran syntax and can be used very intuitively.
        
        All class and methods reside in namespace 'feiliu' to prevent name
        collision with other similar libraries.
        
        To build the example, use 'build'. All source codes are ISO c+á standard
        compliant.
        
        Let me know if you have any suggestions to improve this library. Thanks!
        
        Fei
        On Wed, 5 Apr 2006, Russ Rew wrote:
        
        > Hi Fei,
        >
        >> Hi Russ and Kurt, I have finished coding some wrapper interfaces to 
make
        >> using netCDF in C++ a little easier. I don't have a convenient way to
        >> publish my code (noaa has web page design requirement). Let me know 
if you
        >> want me to send a zip file to you. Enclosed is the source code of a 
test
        >> app to show you the improvements I've made over existing netcdfcpp
        >> classes (introducing namespace, facade design, template to 
netcdfcpp).
        >
        > Yes, thanks, please send a zip file with your improvements!
        >
        > I would like to test your changes for backwards compatibility and
        > maybe incorporate them in a future release, with credit to you, of
        > course.  I also have a summer student working on the C++ interface
        > this summer.  I might have her start with your wrappers and see what
        > other improvements are possible while maintaining backwards
        > compatibility with the current interface.
        >
        > Thanks again for your efforts in improving netCDF.
        >
        > --Russ
        >
        > _____________________________________________________________________
        >
        > Russ Rew                                         UCAR Unidata Program
        > russ@xxxxxxxxxxxxxxxx                     http://www.unidata.ucar.edu
        >
        >
        
        
==============================================================================
        To unsubscribe netcdfgroup, visit:
        http://www.unidata.ucar.edu/mailing-list-delete-form.html
        
==============================================================================
        
        


==============================================================================
To unsubscribe netcdfgroup, visit:
http://www.unidata.ucar.edu/mailing-list-delete-form.html
==============================================================================