Git Product home page Git Product logo

Comments (2)

eugenwintersberger avatar eugenwintersberger commented on May 17, 2024

To implement VDS the following classes need modification

  • DatasetAccessList
  • and DatasetCreationList

The DatasetLayout enumeration has already a VIRTUAL entry to create a virtual dataset.
DatasetCreationList is where most of the configuration work is done.
There are certain boundary conditions we have to take into account

  • all mappings must be done during creation of the dataset (they are added to the DatasetCreationList.
    We thus cannot modify the mappings once the dataset is created.
  • as a consequence of the brevious item we only can read the mappings from a dataset once it is
    created.

Additional classes

VirtualDataMap

This class describes the mapping between the virtual dataset and the actual data. This information
includes

  • a Selection in the dataspace of the virtual dataset
  • a boost::filesystem::path to the source file
  • a hdf5::Path to the dataset within the source file
  • a Dataspace and Selection in the source dataset

VirtualDataset class

Implementing this feature may be also a good use case to test object instantiation with constructors.
It would make sense to derive a class VirtualDataset from Dataset which has a special
constructor only taking those arguments relevant for constructing a virtual dataset (we do not need
filters for instance).

from h5cpp.

eugenwintersberger avatar eugenwintersberger commented on May 17, 2024

We may want to store VirtualDataMap instances in a container thus the class must satisfy all requirements such a
container makes on an element type

  • default constructible
  • copy constructible

This has consequences for those members of VirtualDataMap which rely on virtual functions to operate correctly.
For such members we need smart pointers as references would not work (cannot be default constructed).

from h5cpp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.