Editing code contains a lot of templated classes:
- PositionTemplate
- SelectionTemplate
- EphemeralRangeTemplate
- VisiblePositionTemplate
- VisibleSelectionTemplate
...
In most cases, we are using specialized aliases, like using the alias Position instead of its true name PositionTemplate<EditingStrategy> (*).
However, we cannot forward declare a alias. Header files are forced to include Position.h even if only a declaration of |Position| is needed. This makes compilation time longer.
We should allow some sort of forward declaration of this templated aliases.
Comment 1 by xiaoche...@chromium.org
, Mar 30 2017