boost::openmethod::n2216
N2216 ambiguity resolution.
Synopsis
Declared in <boost/openmethod/preamble.hpp>
struct n2216;
Description
If n2216 is present in initialize's Options, additional steps are taken to select a single overrider in presence of ambiguous overriders sets, according to the rules defined in the N2216 paper. If the normal resolution procedure fails to select a single overrider, the following steps are applied, in order:
‐ If the return types of the remaining overriders are all polymorphic and covariant, and one of the return types is more specialized thjat all the others, use it.
‐ Otherwise, pick one of the overriders. Which one is used is unspecified, but remains the same throughtout the program, and across different runs of the same program.
Created with MrDocs