Skip to content

Default constructible geometries

Summary

This MR make some geometries default constructible. A default constructed geometry is typically empty/invalid and may not be used until a valid geometry is assigned to it. The reason to provide a default constructor is, e.g., to allow to store geometries in containers (more easily).

Notes

  • Not all geometries are easy to make default constructible, e.g., the MultiLinearGeometry uses a ConerStorage the we have no control over. In the test-multilineargeometry this storage is defined as a std::reference_wrapper that is not default constructible and so it not the whole multilinear geometry class. We could, for example, protect the default constructor to only be available if the storage is default constructible. Then it is the task of the user to fulfil this requirement if he/she wants to use a default constructible geometry.

Related issues

Edited by Simon Praetorius

Merge request reports