Add layout tree base classes
Description
This adds the classes discussed in #43 (closed)
I tried to provide some design considerations in the commit messages.
Related Issue
Closes #43 (closed)
How Has This Been Tested?
Bundled tests and visual inspection of the documentation.
Types of changes
-
Bug fix (non-breaking change which fixes an issue) -
New feature (non-breaking change which adds functionality) -
Breaking change (fix or feature that would cause existing functionality to change)
Checklist:
-
My code follows the code style of this project. -
My change requires a change to the documentation. -
I have updated the documentation accordingly. -
I have read the CONTRIBUTING document. -
I have added tests to cover my changes. -
All new and existing tests passed.