Commit Graph

30 Commits

Author SHA1 Message Date
Binh-Minh Ribler
385b4b40ae [svn-r24991] Purpose: Fixed HDFFV-3384
Description:
    - Added const to const arguments
    - Fixed miscellaneous comments
Platforms tested:
    Linux/ppc64 (ostrich)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2014-04-08 21:36:48 -05:00
Binh-Minh Ribler
be38074a2f [svn-r24925] Purpose: Fix HDFFV-7907
Description:
    Added transform property list functions
        // Constructor creates a dataset transform property list.
        DSetMemXferPropList(const char* expression);

        // Sets data transform expression.
        void setDataTransform(const char* expression) const;
        void setDataTransform(const H5std_string& expression) const;

        // Gets data transform expression.
        ssize_t getDataTransform(char* exp, size_t buf_size=0) const;
        H5std_string getDataTransform() const;

    Added test file tdspl.cpp.

Platforms tested:
    Linux/ppc64 (ostrich)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2014-03-30 11:15:11 -05:00
Binh-Minh Ribler
370e6f3f56 [svn-r24291] Description:
- Added a lot of documentation to classes for Reference Manual.
    - Fixed some format inconsistencies
Platforms tested:
    Linux/ppc64 (ostrich)
    Linux/32 2.6 (jam)
    Linux/64 2.6 (koala)/PGI compilers
2013-10-15 00:31:20 -05:00
Binh-Minh Ribler
94b55940ea [svn-r24189] Purpose: Fixed bug HDFFV-1060
Description:
    Changed header guards from single underscore to double underscore.
Platforms tested:
    Linux/32 2.6 (jam) - very minor
    Linux/64 2.6 (koala)/PGI compilers
2013-09-22 23:04:26 -05:00
Dana Robinson
47a25f0d0c [svn-r23509] Duplicated Bin-Minh's changes in the 1.8 branch (r23503) that
delete the removed multi dxpl function names from the class.

Tested on: jam w/ fortran & C++

I did not test on other platforms (h5committest) since there is nothing
even remotely platform-specific here.
2013-04-01 14:05:15 -05:00
Binh-Minh Ribler
9c3f82fbd7 [svn-r22845] Purpose: Misc fixes
Description:
    Fixed miscellaneous inconsistencies and typos, which also took
    care of the failure in Packet Table test on daily test today.
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 2.6 (koala)
    Mac Lion (duck)
2012-09-28 17:18:33 -05:00
Binh-Minh Ribler
d9533d055c [svn-r15308] Purpose: Fixed bugs
Description:
    The class hierarchy was revised to address the problem reported in
    bugzilla #1068.  Classes AbstractDS and Attribute are moved out of
    H5Object.  Class Attribute now multiply inherits from IdComponent and
    AbstractDs and class DataSet from H5Object and AbstractDs.

    In addition, data member IdComponent::id was moved into subclasses:
    Attribute, DataSet, DataSpace, DataType, H5File, Group, and PropList.

Platforms tested:
    SunOS 5.10 (linew)
    Linux 2.6 (kagiso)
    FreeBSD (duty)
2008-07-02 09:44:57 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG copyright notice.
Tested platform:
Kagiso only since it is only a comment block change.  If it works in one
machine, it should work in all, I hope.  Still need to check the parallel
build on copper.
2007-02-07 09:56:24 -05:00
Binh-Minh Ribler
32d3e6f04f [svn-r12404] Purpose: Fix typos/formats
Description:
    Fixed typos and re-arranged some functions to be in sync with 1.6.

Platforms tested:
    Linux 2.4 (heping)
    SunOS 5.9 (shanti)
    AIX 5.1 (copper)
2006-06-05 11:17:36 -05:00
Binh-Minh Ribler
6f7076f47b [svn-r12200] Purpose: Maintenance
Description:
    Changed to alias string instead of std, i.e. H5std_string instead
    of H5std, because the old way wasn't working when std didn't exist.

Platforms tested:
    Linux 2.4 (heping)
    SunOS 5.8 64-bit (sol)
    HPUX 11.00 (kelgia) - this was the problematic platform but I wasn't
                                able to test before.
2006-04-05 11:23:39 -05:00
Binh-Minh Ribler
a7e993d72b [svn-r12180] Purpose: Maintenance
Description:
    Added alias H5_std so either the global or std namespace can be
    used, depending on H5_NO_STD.

Platforms tested:
    Linux 2.4 (heping)
    SunOS 5.8 64-bit (sol)
    AIX 5.1 (copper)
2006-03-30 13:06:58 -05:00
Binh-Minh Ribler
5ed48cf279 [svn-r11755] Purpose: Code improvement
Description:
    There was a workaround for predefined types, in the C++ library,
    implemented when the C++ library was handling the reference
    counting of the object ids on its own.  Currently, the C++ library
    is using the available APIs from the C library for that purpose,
    and there were bugs reported involving that part of the C++ library.
    So, I decided to remove the workaround completely.

    Also, improved the use of std members.

Platforms tested:
    Linux 2.4 (heping)
    SunOS 5.8 64-bit (sol)
    Linux 2.4 w/PGI (colonelk)
2005-12-03 07:21:25 -05:00
Quincey Koziol
6e7ed46998 [svn-r11487] Purpose:
Code cleanup

Description:
    Tweak copyright on C++ source files to reduce whining by copyright checking
script.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/C++
2005-10-01 10:29:18 -05:00
Quincey Koziol
6b45f5172c [svn-r11245] Purpose:
Code cleanup

Description:
    Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.

Solution:
    Ran this script in each directory:

foreach f (*.[ch] *.cpp)
    sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-13 15:53:35 -05:00
Binh-Minh Ribler
f74bef15ce [svn-r11210] Purpose: Code improvement
Description:
    Made use of IdComponent::inMemFunc in more classes.

Platforms tested:
    Linux 2.4 (heping)
    SunOS 5.8 64-bit (sol)
2005-08-08 10:42:39 -05:00
Binh-Minh Ribler
824ba5e2fd [svn-r9129] Purpose: Updating documentation
Description:
    Updated various function headers for the RM as reviewing progresses.
    Rearranged functions in header files for more sensible look of the RM.

Platforms tested:
    SunOS 5.7 (arabica)
    Linux 2.4 (eirene)
2004-08-19 23:35:18 -05:00
Binh-Minh Ribler
3b490063e3 [svn-r8466]
Purpose: Correct my mistake

Description:
    I inadvertently deleted the changes that Ray and Quincey put in
    these two files.  Added them back.


Platforms tested:
    SunOS 5.8-64 (sol)
    Linux 2.4 (eirene)


Misc. update:
2004-05-02 23:52:45 -05:00
Binh-Minh Ribler
db8f63f552 [svn-r8465] Purpose:
Add more C++ wrappers - incrementally check-in

Description:
    Added wrapper for many C property list functions and added Doxygen
    documentation to existing C++ functions in these files.  This is
    an incremental check-in to preserve the code, corresponding tests
    will follow in a few weeks.

    For H5PropList.h and H5PropList.cpp, added C++ wrappers for:
	H5Pexist
	H5Pclose_class
	H5Pget
	H5Pget_size
	H5Pget_class_name
	H5Pget_nprops
	H5Pset
	H5Pisa_class
	H5Premove
	H5Pequal
	H5Pget_class_parent

   For H5FaccProp.h and H5FaccProp.cpp, added C++ wrappers for:
	H5Ps[g]et_driver
	H5Ps[g]et_family_offset
	H5Ps[g]et_fapl_core
	H5Ps[g]et_fapl_family
	H5Ps[g]et_fapl_stream
	H5Ps[g]et_sieve_buf_size
	H5Ps[g]et_meta_block_size
	H5Ps[g]et_alignment
	H5Ps[g]et_multi_type
	H5Ps[g]et_fclose_degree
	H5Pset_fapl_stdio
	H5Pset_fapl_split
	H5Pset_fapl_log
	H5Pset_fapl_sec2

   For H5FcreatProp.h and H5FcreatProp.cpp, added C++ wrappers for:
	H5Pfill_value_defined
	H5Premove_filter
	H5Pget_filter_by_id
	H5Pmodify_filter
	H5Pall_filters_avail
	H5Pset_shuffle
	H5Ps[g]et_alloc_time
	H5Ps[g]et_fill_time
	H5Pset_fletcher32

   For H5DxferProp.h and H5DxferProp.cpp, added C++ wrappers for:
	H5Ps[g]et_dxpl_multi
	H5Ps[g]et_small_data_block_size
	H5Ps[g]et_hyper_vector_size
	H5Ps[g]et_edc_check

Platforms:
    SunOS 5.7 (arabica)
    Linux 2.4 (eirene)
    SunOS 5.8-64 (sol)
2004-05-02 17:05:25 -05:00
Quincey Koziol
2da3744374 [svn-r8432] Purpose:
Bug fix

Description:
    Change C++ methods to match C prototypes for datatype overflow callback
routines.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/C++
    too minor to require h5committest
2004-04-29 09:16:45 -05:00
Raymond Lu
85b599e933 [svn-r8423] Purpose: New feature
Description:  A new exception handler for datatype conversion(set through
H5Pset_type_conv_cb) to replace the old overflow callback function(set
through H5Tset_overflow).  This new handler can deal with overflow, precision
loss and fraction truncate during datatype conversion.


Platforms tested: h5committest

Misc. update:  release_docs
2004-04-27 14:16:35 -05:00
Quincey Koziol
4e23c80758 [svn-r7181] Purpose:
Version update

Description:
    Removed 1.4 compatibility code in the library.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-07-07 14:02:46 -05:00
Binh-Minh Ribler
7fd449cb79 [svn-r6236] Purpose: Copyright
Description:
    Added copyright notice to C++ API files, including *.h, *.cpp, and
    Makefile.in

Platforms:
    Linux 6.2 (eirene)
2003-01-06 23:22:12 -05:00
MuQun Yang
fcc1eea172 [svn-r5932]
Purpose:
use H5_DLLCPP to replacer __DLLCPP__ for c++ interfaces.
Description:
Solution:
Platforms tested:
linux 2.2.18smp, IRIX64, solaris 2.7, windows 2000
2002-09-20 15:37:56 -05:00
Binh-Minh Ribler
855aa23823 [svn-r4977]
Purpose:
    Adding support for dll
Description:
    Added __DLLCPP__ to all public classes and templates.
    Added #include "H5Include.h" to H5RefCounter.cpp because of the
          use of DLLCPP in .h file and it needs the following chain:
                H5Include.h/hdf5.h/H5public.h/H5api_adpt.h
    Added #pragma warning(disable: 4251) to H5Exception.h to eliminate
        this warning on private data members of type 'string.'  This
        occurs because 'string' is not yet instantiated at compilation
        time; however, since the class is exported, the warning is
        harmless.
    Changed this member function's parameter to be passed as reference.
        from:
            void CompType::insertMember( const string name,...
        to:
            void CompType::insertMember( const string& name,...
Platforms tested:
    Linux 6.2 (eirene)
    Windows 2000
2002-02-15 19:49:46 -05:00
Quincey Koziol
7a30de3a2b [svn-r4680] Purpose:
Code cleanup
Description:
    Property that H5P(g|s)et_hyper_cache uses is no longer in use inside the
    library.
Solution:
    Removed H5P(g|s)et_hyper_cache API functions, except when backward
    compatibility is turned on.  When backward compatibility is turned on,
    the property is defined by the library, but unused internally.
Platforms tested:
    FreeBSD 4.4 (sleipnir)
2001-12-06 14:05:12 -05:00
Quincey Koziol
6ecbcc1717 [svn-r4676] Purpose:
Backward Compatibility Fix
Description:
    One of H5P[gs]et_buffer's parameters changed between v1.4 and the
    development branch.
Solution:
    Added v1.4 compat stuff around H5P[gs]et_buffer implementation and testing
    to allow v1.4.x users to continue to use their source code without
    modification.

    These changes are for everything except the FORTRAN wrappers - I spoke with
    Elena and she will make the FORTRAN wrapper changes.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-12-05 15:26:39 -05:00
Binh-Minh Ribler
42e15a3d6a [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)
2001-03-02 13:53:15 -05:00
Bill Wendling
b545a4bb03 [svn-r3534] Purpose:
Bug Fix
Description:
    Added comments to the top of C++ files to indicate that it's a C++
    file and not a C source code file. Also added a macro which makes
    emacs automagically enter c++-mode. (Recommended by Frank Schimmel
    fschimme@monsoon.CAPS.ou.edu)
2001-03-02 12:50:58 -05:00
Binh-Minh Ribler
d24bacb8a4 [svn-r3199]
Purpose: bug fix

Description:
	I found a couple of places where virtual destructors were missing
	and could cause small memory leaks.  Also, some destructors were
	not virtual when they should be.

Solution:
	- added virtual destructors, which also free dynamically allocated
	  memory
	- added virtual to several destructors
	- also, fixed several typos

Platforms tested:
	Solaris 2.7 (arabica)
2000-12-23 08:17:32 -05:00
Binh-Minh Ribler
92041a6865 [svn-r2897] Purpose:
C++ API for 1.3.x branch

Description:
	The *.C and *.h files named different than those in 1.2.x.
	They are in the form: 'H5' + classname, or just classname if
	the classname is already prefixed with 'H5' to avoid ambiguity
	in documentation context.  This version has several hidden bugs
	fixed and an improvement on the reference counting approach.
	The classes and their inheritance structure are listed below:
	---------------------------------------
	H5Library
	Exception
	RefCounter
	IdComponent
		H5File
		DataSpace
		H5Object
			Group
			AbstractDs
				DataSet
				Attribute
			DataType
				PredType
				EnumType
				CompType
				AtomType
					StrType
					IntType
					FloatType
		PropList
			FileCreatPropList
			FileAccPropList
			DSetCreatPropList
			DSetMemXferPropList
	---------------------------------------
	IdComponent uses RefCounter to keep track of opened objects
	so proper termination of HDF5 objects can be maintained.
	Each class has a .h file containing the class declaration and
	a .C file containing its definition.  In addition to the classes
	files, the following files do not have class information:

	- H5Cpp.h: header file to be included in user's application
	- H5Idtemplates.h: contains a template function used by several classes
	- H5Classes.h: contains forward class declarations
	- H5CommonFG.*: contains common code used by classes H5File and Group
	- H5Include.h: contains the hdf5.h header file and the #undef RCSID
		to work around the problem: multiple defined RcsId
	- H5Alltypes.h: simply serves as a container to hold the header
		files of all datatypes to simplify the header file inclusion

Platforms:
	Solaris (arabica) and Linux
2000-11-14 16:30:12 -05:00