#include <stlsoft/util/compiler_optimisation_traits.hpp>
| Public Types | |
| enum | { supportsEBO1 = sizeof(compiler_optimisation_traits_ebo_thin_child) == sizeof(compiler_optimisation_traits_ebo_parent) } | 
| 1. With empty base and empty child  More... | |
| enum | { supportsEBO2 = sizeof(compiler_optimisation_traits_ebo_thick_child) == sizeof(compiler_optimisation_traits_ebo_thick_peer) } | 
| 2. With empty base and non-empty child  More... | |
| enum | { supportsEBO3 = sizeof(compiler_optimisation_traits_ebo_thin_grandchild) == sizeof(compiler_optimisation_traits_ebo_parent) } | 
| 3. With empty base, empty intermediate, and empty child  More... | |
| enum | { supportsEBO4 = sizeof(compiler_optimisation_traits_ebo_thick_grandchild) == sizeof(compiler_optimisation_traits_ebo_thick_peer) } | 
| 4. With empty base, empty intermediate, and non-empty child  More... | |
| enum | { supportsEBO5 = sizeof(compiler_optimisation_traits_ebo_mi_thin_child) == sizeof(compiler_optimisation_traits_ebo_parent) } | 
| 5. With two empty bases and empty child  More... | |
| enum | { supportsEBO6 = sizeof(compiler_optimisation_traits_ebo_mi_thick_child) == sizeof(compiler_optimisation_traits_ebo_thick_peer) } | 
| 6. With two empty bases and non-empty child  More... | |
| enum | { supportsEBO7 = sizeof(compiler_optimisation_traits_ebo_mi_mixin_child) == sizeof(compiler_optimisation_traits_ebo_thick_peer) } | 
| 7. With one empty base (the mixin), one non-empty base and empty child  More... | |
| enum | { supportsEBO = supportsEBO1 & supportsEBO2 & supportsEBO3 & supportsEBO4 } | 
| enum | { supportsMIEBO = supportsEBO5 & supportsEBO6 & supportsEBO7 } | 
| enum | { supportsExtendedEBO = supportsEBO & supportsMIEBO } | 
| enum | { supportsEDO1 = supportsEBO1 } | 
| 1. With empty base (same as EBO1)  More... | |
| enum | { supportsEDO2 = sizeof(compiler_optimisation_traits_edo_child<compiler_optimisation_traits_edo_thin_base>) == sizeof(compiler_optimisation_traits_edo_thin_base) } | 
| 2. With empty base (same as EBO1); child is template  More... | |
| enum | { supportsEDO3 = sizeof(compiler_optimisation_traits_edo_child_of_thick_base) == sizeof(compiler_optimisation_traits_edo_thick_base) } | 
| 3. With non-empty base  More... | |
| enum | { supportsEDO4 = sizeof(compiler_optimisation_traits_edo_child<compiler_optimisation_traits_edo_thick_base>) == sizeof(compiler_optimisation_traits_edo_thick_base) } | 
| 4. With non-empty base; child is template  More... | |
| enum | { supportsEDO5 = supportsEBO5 } | 
| 5. With two empty bases  More... | |
| enum | { supportsEDO6 = sizeof(compiler_optimisation_traits_edo_mi_child<compiler_optimisation_traits_edo_thin_base, compiler_optimisation_traits_edo_thin_base2>) == sizeof(compiler_optimisation_traits_edo_thin_base) } | 
| 6. With two empty bases; child is template  More... | |
| enum | { supportsEDO7 = supportsEBO7 } | 
| 7. With one empty base (the mixin), one non-empty base  More... | |
| enum | { supportsEDO8 = sizeof(compiler_optimisation_traits_edo_mi_child<compiler_optimisation_traits_edo_thick_base, compiler_optimisation_traits_edo_thin_base>) == sizeof(compiler_optimisation_traits_edo_thick_base) } | 
| 8. With one empty base (the mixin), one non-empty base; child is template  More... | |
| enum | { supportsEDO = supportsEDO1 & supportsEDO2 & supportsEDO3 & supportsEDO4 } | 
| enum | { supportsMIEDO = supportsEDO5 & supportsEDO6 & supportsEDO7 & supportsEDO8 } | 
| enum | { supportsExtendedEDO = supportsEDO & supportsMIEDO } | 
| anonymous enum | 
1. With empty base and empty child
| anonymous enum | 
2. With empty base and non-empty child
| anonymous enum | 
3. With empty base, empty intermediate, and empty child
| anonymous enum | 
4. With empty base, empty intermediate, and non-empty child
| anonymous enum | 
5. With two empty bases and empty child
| anonymous enum | 
6. With two empty bases and non-empty child
| anonymous enum | 
7. With one empty base (the mixin), one non-empty base and empty child
| anonymous enum | 
1. With empty base (same as EBO1)
| anonymous enum | 
2. With empty base (same as EBO1); child is template
| anonymous enum | 
3. With non-empty base
| anonymous enum | 
4. With non-empty base; child is template
| anonymous enum | 
5. With two empty bases
| anonymous enum | 
6. With two empty bases; child is template
| anonymous enum | 
7. With one empty base (the mixin), one non-empty base
| anonymous enum | 
8. With one empty base (the mixin), one non-empty base; child is template
 1.5.6
 1.5.6