BDE 4.14.0 Production release
|
Provide a meta-function for adding top-level cv-qualifiers.
bsl::add_cv
meta-functionThis component defines a meta-function, bsl::add_cv
and declares an bsl::add_cv_t
alias to the return type of the bsl::add_cv
, that may be used to add a top-level const
-qualifier and a top-level volatile
-qualifier to a type if it is not a reference type, nor a function type, nor already const
-qualified and volatile
-qualified at the top-level.
bsl::add_cv
and bsl::add_cv_t
meet the requirements of the add_cv
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 const
-qualifier and a volatile
-qualifier to a particular type.
First, we create two typedef
s – a const
-qualified and volatile
-qualified type (MyCvType
) and the same type without the cv-qualifiers (MyType
):
Now, we add a const
-qualifier and a volatile
-qualifier to MyType
using bsl::add_cv
and verify that the resulting type is the same as MyCvType
:
Finally, if the current compiler supports alias templates C++11 feature, we add a const
-qualifier and a volatile
-qualifier to MyType
using bsl::add_cv_t
and verify that the resulting type is the same as MyCvType
:
Note, that the bsl::add_cv_t
avoids the ::type
suffix and typename
prefix when we want to use the result of the bsl::add_cv
meta-function in templates.