Loki  0.1.7
Loki::Forbidden_conversion< typename > Struct Template Reference

Detailed Description

template<typename>
struct Loki::Forbidden_conversion< typename >

Non-Templated Initialization.
Not all compilers support template member functions where the template arguments are not deduced but explicitly specified. For these broken compilers, a non-template make_bit_const() function is provided instead of the template one. The only downside is that instead of compile-time checking of the index argument, it does runtime checking.
Forbidding Conversions.
This incomplete type prevents compilers from instantiating templates for type conversions which should not happen. This incomplete type must be a template: if the type is incomplete at the point of template definition, the template is illegal (although the standard allows compilers to accept or reject such code, ยง14.6/, so some compilers will not issue diagnostics unless template is instantiated). The standard-compliant way is to defer binding to the point of instantiation by making the incomplete type itself a template.

The documentation for this struct was generated from the following file: