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 MultiLinearGeometryuses aConerStoragethe we have no control over. In thetest-multilineargeometrythis storage is defined as astd::reference_wrapperthat 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