summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBinh-Minh Ribler <bmribler@hdfgroup.org>2001-03-02 18:53:15 (GMT)
committerBinh-Minh Ribler <bmribler@hdfgroup.org>2001-03-02 18:53:15 (GMT)
commit42e15a3d6af05b67c07de7dcd579db39504fffa7 (patch)
treeff3bac3026121f15f26ba725c3c113c8f074b1f6
parentcc647cfe5f492d8810e5b1a6444a37c267c591c4 (diff)
downloadhdf5-42e15a3d6af05b67c07de7dcd579db39504fffa7.zip
hdf5-42e15a3d6af05b67c07de7dcd579db39504fffa7.tar.gz
hdf5-42e15a3d6af05b67c07de7dcd579db39504fffa7.tar.bz2
[svn-r3540] Purpose:
Feasibility improvement Description: - Some member functions in class Exception can be called without an Exception instance exits, but because they are not static, they cannot. - Many exception throwings don't provide any information to callers. Solution: - Add 'static' to several member functions in class Exception. - Added <class name::function name> to some exceptions thrown in H5File.cpp and H5FcreatProp.cpp. I'm trying this for users' comments. More information may be added later and to all exceptions. - Changed the comment line for emacs editor to: // C++ informative line for the emacs editor: -*- C++ -*- because... I'd rather not say that the code "may look like C" :-) Platforms tested: Linux (gcc version egcs-2.91.66)
-rw-r--r--c++/src/H5AbstractDs.h2
-rw-r--r--c++/src/H5Alltypes.h2
-rw-r--r--c++/src/H5AtomType.h2
-rw-r--r--c++/src/H5Attribute.h2
-rw-r--r--c++/src/H5Classes.h2
-rw-r--r--c++/src/H5CommonFG.cpp13
-rw-r--r--c++/src/H5CommonFG.h2
-rw-r--r--c++/src/H5CompType.h2
-rw-r--r--c++/src/H5Cpp.h2
-rw-r--r--c++/src/H5DataSet.h2
-rw-r--r--c++/src/H5DataSpace.h2
-rw-r--r--c++/src/H5DataType.h2
-rw-r--r--c++/src/H5DcreatProp.h2
-rw-r--r--c++/src/H5DxferProp.h2
-rw-r--r--c++/src/H5EnumType.h2
-rw-r--r--c++/src/H5Exception.cpp26
-rw-r--r--c++/src/H5Exception.h20
-rw-r--r--c++/src/H5FaccProp.h2
-rw-r--r--c++/src/H5FcreatProp.cpp18
-rw-r--r--c++/src/H5FcreatProp.h2
-rw-r--r--c++/src/H5File.cpp12
-rw-r--r--c++/src/H5File.h2
-rw-r--r--c++/src/H5FloatType.h2
-rw-r--r--c++/src/H5Group.h2
-rw-r--r--c++/src/H5IdComponent.h2
-rw-r--r--c++/src/H5Idtemplates.h2
-rw-r--r--c++/src/H5Include.h2
-rw-r--r--c++/src/H5IntType.h2
-rw-r--r--c++/src/H5Library.h2
-rw-r--r--c++/src/H5Object.h2
-rw-r--r--c++/src/H5PredType.h2
-rw-r--r--c++/src/H5PropList.h2
-rw-r--r--c++/src/H5RefCounter.h2
-rw-r--r--c++/src/H5StrType.h2
34 files changed, 66 insertions, 81 deletions
diff --git a/c++/src/H5AbstractDs.h b/c++/src/H5AbstractDs.h
index 24f0c1c..4c95b39 100644
--- a/c++/src/H5AbstractDs.h
+++ b/c++/src/H5AbstractDs.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
// Class AbstractDs is an abstract base class, from which Attribute and
// DataSet inherit. It provides the services that are common to both
// Attribute and DataSet. It also inherits from H5Object and passes down
diff --git a/c++/src/H5Alltypes.h b/c++/src/H5Alltypes.h
index e4d86ca..da9f331 100644
--- a/c++/src/H5Alltypes.h
+++ b/c++/src/H5Alltypes.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
// This header file simply serves as a container to hold the
// header files of all datatypes. It simplifies the header
// file including in the code.
diff --git a/c++/src/H5AtomType.h b/c++/src/H5AtomType.h
index 9159518..046989f 100644
--- a/c++/src/H5AtomType.h
+++ b/c++/src/H5AtomType.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
// Class AtomType is a base class, from which IntType, FloatType, StrType,
// and PredType inherit. It provides the services that are common to these
// subclasses. It also inherits from DataType and passes down the
diff --git a/c++/src/H5Attribute.h b/c++/src/H5Attribute.h
index 4a06d3f..b4ad208 100644
--- a/c++/src/H5Attribute.h
+++ b/c++/src/H5Attribute.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef H5Attribute_H_
#define H5Attribute_H_
diff --git a/c++/src/H5Classes.h b/c++/src/H5Classes.h
index 85e84d3..16d606e 100644
--- a/c++/src/H5Classes.h
+++ b/c++/src/H5Classes.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5Classes_H
#define _H5Classes_H
diff --git a/c++/src/H5CommonFG.cpp b/c++/src/H5CommonFG.cpp
index 02dad70..000729b 100644
--- a/c++/src/H5CommonFG.cpp
+++ b/c++/src/H5CommonFG.cpp
@@ -79,7 +79,6 @@ Group CommonFG::openGroup( const char* name ) const
}
else
{
- //throw File_GroupException();
throwException();
}
}
@@ -107,7 +106,6 @@ DataSet CommonFG::createDataSet( const char* name, const DataType& data_type, co
}
else
{
- //throw File_GroupException();
throwException();
}
}
@@ -131,7 +129,6 @@ DataSet CommonFG::openDataSet( const char* name ) const
}
else
{
- //throw File_GroupException();
throwException();
}
}
@@ -147,7 +144,6 @@ void CommonFG::link( H5G_link_t link_type, const char* curr_name, const char* ne
herr_t ret_value = H5Glink( getLocId(), link_type, curr_name, new_name );
if( ret_value < 0 )
{
- //throw File_GroupException();
throwException();
}
}
@@ -162,7 +158,6 @@ void CommonFG::unlink( const char* name ) const
herr_t ret_value = H5Gunlink( getLocId(), name );
if( ret_value < 0 )
{
- //throw File_GroupException();
throwException();
}
}
@@ -177,7 +172,6 @@ void CommonFG::move( const char* src, const char* dst ) const
herr_t ret_value = H5Gmove( getLocId(), src, dst );
if( ret_value < 0 )
{
- //throw File_GroupException();
throwException();
}
}
@@ -192,7 +186,6 @@ void CommonFG::getObjinfo( const char* name, hbool_t follow_link, H5G_stat_t& st
herr_t ret_value = H5Gget_objinfo( getLocId(), name, follow_link, &statbuf );
if( ret_value < 0 )
{
- //throw File_GroupException();
throwException();
}
}
@@ -209,7 +202,6 @@ string CommonFG::getLinkval( const char* name, size_t size ) const
herr_t ret_value = H5Gget_linkval( getLocId(), name, size, value_C );
if( ret_value < 0 )
{
- //throw File_GroupException();
throwException();
}
string value = string( value_C );
@@ -227,7 +219,6 @@ void CommonFG::setComment( const char* name, const char* comment ) const
herr_t ret_value = H5Gset_comment( getLocId(), name, comment );
if( ret_value < 0 )
{
- //throw File_GroupException();
throwException();
}
}
@@ -247,7 +238,6 @@ string CommonFG::getComment( const char* name, size_t bufsize ) const
// if H5Gget_comment returns SUCCEED, return the string comment
if( ret_value < 0 )
{
- //throw File_GroupException();
throwException();
}
string comment = string( comment_C );
@@ -272,7 +262,6 @@ void CommonFG::mount( const char* name, H5File& child, PropList& plist ) const
// Raise exception if H5Fmount returns negative value
if( ret_value < 0 )
{
- //throw File_GroupException();
throwException();
}
}
@@ -290,7 +279,6 @@ void CommonFG::unmount( const char* name ) const
// Raise exception if H5Funmount returns negative value
if( ret_value < 0 )
{
- //throw File_GroupException();
throwException();
}
}
@@ -309,7 +297,6 @@ hid_t CommonFG::p_openDataType( const char* name ) const
return( datatype_id );
else
{
- //throw GroupIException();
throwException();
}
}
diff --git a/c++/src/H5CommonFG.h b/c++/src/H5CommonFG.h
index 1126e16..ed34a20 100644
--- a/c++/src/H5CommonFG.h
+++ b/c++/src/H5CommonFG.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
// CommonFG is a protocol class. Its existence is simply to provide the
// common services that are provided by H5File and Group. The file or
// group in the context of this class is referred to as 'location'.
diff --git a/c++/src/H5CompType.h b/c++/src/H5CompType.h
index e76d86b..1e06a12 100644
--- a/c++/src/H5CompType.h
+++ b/c++/src/H5CompType.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
// Class CompType inherits from DataType and provides accesses to a compound
// datatype.
diff --git a/c++/src/H5Cpp.h b/c++/src/H5Cpp.h
index dce8838..6b1b9ae 100644
--- a/c++/src/H5Cpp.h
+++ b/c++/src/H5Cpp.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5CPP_H
#define _H5CPP_H
diff --git a/c++/src/H5DataSet.h b/c++/src/H5DataSet.h
index 4afe57b..dc4edc1 100644
--- a/c++/src/H5DataSet.h
+++ b/c++/src/H5DataSet.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
// Class DataSet inherits from AbstractDs and provides accesses to a dataset.
#ifndef _H5DataSet_H
diff --git a/c++/src/H5DataSpace.h b/c++/src/H5DataSpace.h
index 0508adc..8c3471f 100644
--- a/c++/src/H5DataSpace.h
+++ b/c++/src/H5DataSpace.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5DataSpace_H
#define _H5DataSpace_H
diff --git a/c++/src/H5DataType.h b/c++/src/H5DataType.h
index d3e8801..a71e1ba 100644
--- a/c++/src/H5DataType.h
+++ b/c++/src/H5DataType.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5DataType_H
#define _H5DataType_H
diff --git a/c++/src/H5DcreatProp.h b/c++/src/H5DcreatProp.h
index 18d05e5..dcf52b3 100644
--- a/c++/src/H5DcreatProp.h
+++ b/c++/src/H5DcreatProp.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5DSCreatPropList_H
#define _H5DSCreatPropList_H
diff --git a/c++/src/H5DxferProp.h b/c++/src/H5DxferProp.h
index a805334..d868ed8 100644
--- a/c++/src/H5DxferProp.h
+++ b/c++/src/H5DxferProp.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5DSetMemXferPropList_H
#define _H5DSetMemXferPropList_H
diff --git a/c++/src/H5EnumType.h b/c++/src/H5EnumType.h
index 1c62dc1..fd331f5 100644
--- a/c++/src/H5EnumType.h
+++ b/c++/src/H5EnumType.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5EnumType_H
#define _H5EnumType_H
diff --git a/c++/src/H5Exception.cpp b/c++/src/H5Exception.cpp
index 4eff181..c6e0efc 100644
--- a/c++/src/H5Exception.cpp
+++ b/c++/src/H5Exception.cpp
@@ -56,13 +56,13 @@ string Exception::getMinorString( H5E_minor_t minor_num ) const
}
// Turns on the automatic error printing.
-void Exception::setAutoPrint( H5E_auto_t func, void* client_data ) const
+void Exception::setAutoPrint( H5E_auto_t func, void* client_data )
{
// calls the C API routine H5Eset_auto to set the auto printing to
// the specified function.
herr_t ret_value = H5Eset_auto( func, client_data );
if( ret_value < 0 )
- throw Exception( "setAutoPrint: H5Eset_auto fails" );
+ throw Exception( "Exception::setAutoPrint" );
}
// Turns off the automatic error printing.
@@ -72,46 +72,46 @@ void Exception::dontPrint()
// off the automatic error printing.
herr_t ret_value = H5Eset_auto( NULL, NULL );
if( ret_value < 0 )
- throw Exception( "dontPrint: H5Eset_auto fails" );
+ throw Exception( "Exception::dontPrint" );
}
// Retrieves the current settings for the automatic error stack traversal
// function and its data.
-void Exception::getAutoPrint( H5E_auto_t& func, void** client_data ) const
+void Exception::getAutoPrint( H5E_auto_t& func, void** client_data )
{
// calls the C API routine H5Eget_auto to get the current setting of
// the automatic error printing
herr_t ret_value = H5Eget_auto( &func, client_data );
if( ret_value < 0 )
- throw Exception( "getAutoPrint: H5Eget_auto fails" );
+ throw Exception( "Exception::getAutoPrint" );
}
// Clears the error stack for the current thread.
-void Exception::clearErrorStack() const
+void Exception::clearErrorStack()
{
// calls the C API routine H5Eclear to clear the error stack
herr_t ret_value = H5Eclear();
if( ret_value < 0 )
- throw Exception( "clearErrorStack: H5Eclear fails" );
+ throw Exception( "Exception::clearErrorStack" );
}
// Walks the error stack for the current thread, calling the specified function.
-void Exception::walkErrorStack( H5E_direction_t direction, H5E_walk_t func, void* client_data ) const
+void Exception::walkErrorStack( H5E_direction_t direction, H5E_walk_t func, void* client_data )
{
// calls the C API routine H5Ewalk to walk the error stack
herr_t ret_value = H5Ewalk( direction, func, client_data );
if( ret_value < 0 )
- throw Exception( "walkErrorStack: H5Ewalk fails" );
+ throw Exception( "Exception::walkErrorStack" );
}
// Default error stack traversal callback function that prints error
// messages to the specified output stream.
-void Exception::walkDefErrorStack( int n, H5E_error_t& err_desc, void* client_data ) const
+void Exception::walkDefErrorStack( int n, H5E_error_t& err_desc, void* client_data )
{
// calls the C API routine H5Ewalk_cb to walk the error stack
herr_t ret_value = H5Ewalk_cb( n, &err_desc, client_data );
if( ret_value < 0 )
- throw Exception( "walkDefErrorStack: H5Ewalk_cb fails" );
+ throw Exception( "Exception::walkDefErrorStack" );
}
// Returns the detailed message set at the time the exception is thrown
@@ -125,14 +125,14 @@ void Exception::printError( FILE* stream ) const
{
herr_t ret_value = H5Eprint( NULL ); // print to stderr
if( ret_value < 0 )
- throw Exception( "printError: H5Eprint fails" );
+ throw Exception( "Exception::printError" );
}
Exception::~Exception()
{
herr_t ret_value = H5Eprint( NULL ); // print to stderr
if( ret_value < 0 )
- throw Exception( "printError: H5Eprint fails" );
+ throw Exception( "Exception::printError" );
}
FileIException::FileIException():Exception(){}
diff --git a/c++/src/H5Exception.h b/c++/src/H5Exception.h
index 81d1ab2..e8aeee4 100644
--- a/c++/src/H5Exception.h
+++ b/c++/src/H5Exception.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5Exception_H
#define _H5Exception_H
@@ -32,34 +32,32 @@ class Exception {
// Returns the detailed message set at the time the exception is thrown
string getDetailMesg() const;
+ char* getCDetailMesg(); // C string of detailed message
// Turns on the automatic error printing.
- void setAutoPrint( H5E_auto_t func,
- void* client_data ) const;
+ static void setAutoPrint( H5E_auto_t func, void* client_data );
// Turns off the automatic error printing.
static void dontPrint();
// Retrieves the current settings for the automatic error stack
// traversal function and its data.
- void getAutoPrint( H5E_auto_t& func,
- void** client_data ) const;
+ static void getAutoPrint( H5E_auto_t& func, void** client_data );
// Clears the error stack for the current thread.
- void clearErrorStack() const;
+ static void clearErrorStack();
// Walks the error stack for the current thread, calling the
// specified function.
- void walkErrorStack( H5E_direction_t direction,
- H5E_walk_t func, void* client_data ) const;
+ static void walkErrorStack( H5E_direction_t direction,
+ H5E_walk_t func, void* client_data );
// Default error stack traversal callback function that prints
// error messages to the specified output stream.
- void walkDefErrorStack( int n, H5E_error_t& err_desc,
- void* client_data ) const;
+ static void walkDefErrorStack( int n, H5E_error_t& err_desc,
+ void* client_data );
// Prints the error stack in a default manner.
- //void printError() const;
virtual void printError( FILE* stream = NULL ) const;
// virtual Destructor
diff --git a/c++/src/H5FaccProp.h b/c++/src/H5FaccProp.h
index 1db2a1d..9628e8b 100644
--- a/c++/src/H5FaccProp.h
+++ b/c++/src/H5FaccProp.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5FileAccPropList_H
#define _H5FileAccPropList_H
diff --git a/c++/src/H5FcreatProp.cpp b/c++/src/H5FcreatProp.cpp
index 9d5c1d6..51f4773 100644
--- a/c++/src/H5FcreatProp.cpp
+++ b/c++/src/H5FcreatProp.cpp
@@ -25,7 +25,7 @@ void FileCreatPropList::getVersion(
herr_t ret_value = H5Pget_version( id, &boot, &freelist, &stab, &shhdr );
if( ret_value < 0 )
{
- throw PropListIException();
+ throw PropListIException("FileCreatPropList constructor");
}
}
@@ -34,7 +34,7 @@ void FileCreatPropList::setUserblock( hsize_t size ) const
herr_t ret_value = H5Pset_userblock( id, size);
if( ret_value < 0 )
{
- throw PropListIException();
+ throw PropListIException("FileCreatPropList::setUserblock");
}
}
@@ -44,7 +44,7 @@ hsize_t FileCreatPropList::getUserblock() const
herr_t ret_value = H5Pget_userblock( id, &userblock_size );
if( ret_value < 0 )
{
- throw PropListIException();
+ throw PropListIException("FileCreatPropList::getUserblock");
}
return( userblock_size );
}
@@ -54,7 +54,7 @@ void FileCreatPropList::setSizes( size_t sizeof_addr, size_t sizeof_size ) const
herr_t ret_value = H5Pset_sizes( id, sizeof_addr, sizeof_size );
if( ret_value < 0 )
{
- throw PropListIException();
+ throw PropListIException("FileCreatPropList::setSizes");
}
}
@@ -63,7 +63,7 @@ void FileCreatPropList::getSizes( size_t& sizeof_addr, size_t& sizeof_size ) con
herr_t ret_value = H5Pget_sizes( id, &sizeof_addr, &sizeof_size );
if( ret_value < 0 )
{
- throw PropListIException();
+ throw PropListIException("FileCreatPropList::getSizes");
}
}
@@ -72,7 +72,7 @@ void FileCreatPropList::setSymk( int ik, int lk ) const
herr_t ret_value = H5Pset_sym_k( id, ik, lk );
if( ret_value < 0 )
{
- throw PropListIException();
+ throw PropListIException("FileCreatPropList::setSymk");
}
}
@@ -81,7 +81,7 @@ void FileCreatPropList::getSymk( int& ik, int& lk ) const
herr_t ret_value = H5Pget_sym_k( id, &ik, &lk );
if( ret_value < 0 )
{
- throw PropListIException();
+ throw PropListIException("FileCreatPropList::getSymk");
}
}
@@ -90,7 +90,7 @@ void FileCreatPropList::setIstorek( int ik ) const
herr_t ret_value = H5Pset_istore_k( id, ik );
if( ret_value < 0 )
{
- throw PropListIException();
+ throw PropListIException("FileCreatPropList::setIstorek");
}
}
int FileCreatPropList::getIstorek() const
@@ -99,7 +99,7 @@ int FileCreatPropList::getIstorek() const
herr_t ret_value = H5Pget_istore_k( id, &ik );
if( ret_value < 0 )
{
- throw PropListIException();
+ throw PropListIException("FileCreatPropList::getIstorek");
}
return( ik );
}
diff --git a/c++/src/H5FcreatProp.h b/c++/src/H5FcreatProp.h
index 5cba6b0..50e70b4 100644
--- a/c++/src/H5FcreatProp.h
+++ b/c++/src/H5FcreatProp.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5FileCreatPropList_H
#define _H5FileCreatPropList_H
diff --git a/c++/src/H5File.cpp b/c++/src/H5File.cpp
index 0498174..a9058bd 100644
--- a/c++/src/H5File.cpp
+++ b/c++/src/H5File.cpp
@@ -56,7 +56,7 @@ void H5File::getFile( const char* name, unsigned int flags, const FileCreatPropL
if( id <= 0 ) // throw an exception when open/create fail
{
- throw FileIException();
+ throw FileIException( "H5File constructor" );
}
}
@@ -79,7 +79,7 @@ bool H5File::isHdf5(const char* name )
return false;
else // Raise exception when H5Fis_hdf5 returns a negative value
{
- throw FileIException();
+ throw FileIException( "H5File::isHdf5" );
}
}
@@ -102,7 +102,7 @@ void H5File::reopen()
id = H5Freopen( id );
if( id <= 0 ) // Raise exception when H5Freopen returns a neg value
{
- throw FileIException();
+ throw FileIException( "H5File::reopen" );
}
}
@@ -120,7 +120,7 @@ FileCreatPropList H5File::getCreatePlist() const
}
else
{
- throw FileIException();
+ throw FileIException( "H5File::getCreatePlist" );
}
}
@@ -138,7 +138,7 @@ FileAccPropList H5File::getAccessPlist() const
}
else // Raise an exception
{
- throw FileIException();
+ throw FileIException( "H5File::getAccessPlist" );
}
}
@@ -148,7 +148,7 @@ void H5File::p_close() const
herr_t ret_value = H5Fclose( id );
if( ret_value < 0 )
{
- throw FileIException();
+ throw FileIException( "H5File::p_close" );
}
}
diff --git a/c++/src/H5File.h b/c++/src/H5File.h
index 608ec9b..b7c0d63 100644
--- a/c++/src/H5File.h
+++ b/c++/src/H5File.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5File_H
#define _H5File_H
diff --git a/c++/src/H5FloatType.h b/c++/src/H5FloatType.h
index 113b7b7..5477211 100644
--- a/c++/src/H5FloatType.h
+++ b/c++/src/H5FloatType.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5FloatType_H
#define _H5FloatType_H
diff --git a/c++/src/H5Group.h b/c++/src/H5Group.h
index 5118fed..c0a7a03 100644
--- a/c++/src/H5Group.h
+++ b/c++/src/H5Group.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5Group_H
#define _H5Group_H
diff --git a/c++/src/H5IdComponent.h b/c++/src/H5IdComponent.h
index 70f52d8..66deeb5 100644
--- a/c++/src/H5IdComponent.h
+++ b/c++/src/H5IdComponent.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _IdComponent_H
#define _IdComponent_H
diff --git a/c++/src/H5Idtemplates.h b/c++/src/H5Idtemplates.h
index 3b83065..af9bccc 100644
--- a/c++/src/H5Idtemplates.h
+++ b/c++/src/H5Idtemplates.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _Reset_h
#define _Reset_h
diff --git a/c++/src/H5Include.h b/c++/src/H5Include.h
index e14c9d2..20bfa64 100644
--- a/c++/src/H5Include.h
+++ b/c++/src/H5Include.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
// Added this line for CC to compile at this time. Will remove it when
// the problem of "Multiple declaration for RcsId" is fixed. BMR - 10/30/00
#ifdef RCSID
diff --git a/c++/src/H5IntType.h b/c++/src/H5IntType.h
index 2170967..fb9889d 100644
--- a/c++/src/H5IntType.h
+++ b/c++/src/H5IntType.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5IntType_H
#define _H5IntType_H
diff --git a/c++/src/H5Library.h b/c++/src/H5Library.h
index 07d1fad..3e071fb 100644
--- a/c++/src/H5Library.h
+++ b/c++/src/H5Library.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5Library_H
#define _H5Library_H
diff --git a/c++/src/H5Object.h b/c++/src/H5Object.h
index 13ad954..6ffe927 100644
--- a/c++/src/H5Object.h
+++ b/c++/src/H5Object.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5Object_H
#define _H5Object_H
diff --git a/c++/src/H5PredType.h b/c++/src/H5PredType.h
index ff2b191..552605a 100644
--- a/c++/src/H5PredType.h
+++ b/c++/src/H5PredType.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
// PredType holds the definition of all the HDF5 predefined datatypes.
// These types can only be made copy of, not created by H5Tcreate or
// closed by H5Tclose. They are treated as constants.
diff --git a/c++/src/H5PropList.h b/c++/src/H5PropList.h
index 0fcec6a..7243076 100644
--- a/c++/src/H5PropList.h
+++ b/c++/src/H5PropList.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5PropList_H
#define _H5PropList_H
diff --git a/c++/src/H5RefCounter.h b/c++/src/H5RefCounter.h
index 3e74b0f..1620d88 100644
--- a/c++/src/H5RefCounter.h
+++ b/c++/src/H5RefCounter.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5RefCounter_H
#define _H5RefCounter_H
diff --git a/c++/src/H5StrType.h b/c++/src/H5StrType.h
index 94af416..2da5ca2 100644
--- a/c++/src/H5StrType.h
+++ b/c++/src/H5StrType.h
@@ -1,4 +1,4 @@
-// This may look like C code, but it is really -*- C++ -*-
+// C++ informative line for the emacs editor: -*- C++ -*-
#ifndef _H5StrType_H
#define _H5StrType_H