void write( const H5std_string& buf, const DataType& mem_type, const DataSpace& mem_space = DataSpace::ALL, const DataSpace& file_space = DataSpace::ALL, const DSetMemXferPropList& xfer_plist = DSetMemXferPropList::DEFAULT ) const;
 
// C++ informative line for the emacs editor: -*- C++ -*-
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Copyright by The HDF Group.                                               *
 * Copyright by the Board of Trustees of the University of Illinois.         *
 * All rights reserved.                                                      *
 *                                                                           *
 * This file is part of HDF5.  The full HDF5 copyright notice, including     *
 * terms governing use, modification, and redistribution, is contained in    *
 * the files COPYING and Copyright.html.  COPYING can be found at the root   *
 * of the source code distribution tree; Copyright.html can be found at the  *
 * root level of an installed copy of the electronic HDF5 document set and   *
 * is linked from the top-level documents page.  It can also be found at     *
 * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
 * access to either file, you may request a copy from help@hdfgroup.org.     *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#ifndef __H5DataSet_H
#define __H5DataSet_H
#ifndef H5_NO_NAMESPACE
namespace H5 {
#endif
/*! \class DataSet
    \brief Class DataSet operates on HDF5 datasets.
    An datasets has many characteristics similar to an attribute, thus both
    Attribute and DataSet are derivatives of AbstractDs.  DataSet also
    inherits from H5Object because a dataset is an HDF5 object.
*/
class H5_DLLCPP DataSet : public H5Object, public AbstractDs {
   public:
    // Close this dataset.
    virtual void close();
    // Extends the dataset with unlimited dimension.
    void extend( const hsize_t* size ) const;
    // Fills a selection in memory with a value
    void fillMemBuf(const void *fill, DataType& fill_type, void *buf, DataType& buf_type, DataSpace& space);
    // Fills a selection in memory with zero
    void fillMemBuf(void *buf, DataType& buf_type, DataSpace& space);
    // Gets the creation property list of this dataset.
    DSetCreatPropList getCreatePlist() const;
    // Returns the address of this dataset in the file.
    haddr_t getOffset() const;
    // Gets the dataspace of this dataset.
    virtual DataSpace getSpace() const;