Tile-based Layout
Header: fiction/layouts/tile_based_layout.hpp
The tile-based layout implements a naming convention that can be layered on top of any coordinate layout like
cartesian_layout
or hexagonal_layout
at compile time. It does not implement any additional functionality but
conveys the intention that each coordinate is in actuality referring to a group of smaller coordinates in another
abstraction down the hierarchy. In the literature, these are called tiles.
-
template<typename CoordinateLayout>
class tile_based_layout : public CoordinateLayout This class provides a tile-based naming scheme for coordinate-based functions. It does not add any functionality, but it might be useful to adopt tile_based_layout to provide an intuition of abstraction in the code. For instance, in a gate_level_layout, the coordinates, in fact, refer to groups of coordinates in lower-level abstractions. These are called ‘tiles’ in the literature. Therefore, it might be helpful for a reader of the code to provide this abstraction level-dependent information.
- Template Parameters:
CoordinateLayout – A coordinate layout type.