|
BDE 4.14.0 Production release
|
Provide a meta-function for adding a volatile-qualifier.
volatile-qualifierbsl::add_volatileThis component defines a meta-function, bsl::add_volatile and declares an bsl::add_volatile_t alias to the return type of the bsl::add_volatile, that may be used to add a top-level volatile-qualifier to a type if it is not a reference type, nor a function type, nor already volatile-qualified at the top-level.
bsl::add_volatile and bsl::add_volatile_t meet the requirements of the add_volatile template defined in the C++11 standard [meta.trans.cv].
In this section we show intended use of this component.
Suppose that we want to add a volatile-qualifier to a particular type.
First, we create two typedefs – a volatile-qualified type (MyVolatileType) and the same type without the volatile-qualifier (MyType):
Now, we add a volatile-qualifier to MyType using bsl::add_volatile and verify that the resulting type is the same as MyVolatileType:
Finally, if the current compiler supports alias templates C++11 feature, we add a volatile-qualifier to MyType using bsl::add_volatile_t and verify that the resulting type is the same as MyVolatileType:
Note, that the bsl::add_volatile_t avoids the ::type suffix and typename prefix when we want to use the result of the bsl::add_volatile meta-function in templates.