The Pre, Post, and PrePost addressing mode helper classes have several stylistic issues.
The PrePost class special member functions are all public, which would allow slicing to occur. Fortunately there aren't any occurrences of slicing, but it would be better to make them non-public.
The Post class constructors initialize the direct Post members in the body rather than in the ctor-initializer.
All of the member reader functions should be const, but none are.
The PrePost class special member functions are all public, which would allow slicing to occur. Fortunately there aren't any occurrences of slicing, but it would be better to make them non-public.
The Post class constructors initialize the direct Post members in the body rather than in the ctor-initializer.
All of the member reader functions should be const, but none are.