8#ifndef INCLUDED_BSLMF_REMOVEVOLATILE
9#define INCLUDED_BSLMF_REMOVEVOLATILE
102#include <bslscm_version.h>
112#if defined(BSLS_PLATFORM_CMP_IBM)
114# define BSLS_REMOVEVOLATILE_WORKAROUND_VOLATILE_MULTIDIMENSIONAL_ARRAY 1
120#elif (defined(BSLS_PLATFORM_CMP_SUN) && BSLS_PLATFORM_CMP_VERSION < 0x5130) \
121 || (defined(BSLS_PLATFORM_CMP_MSVC) \
122 && BSLS_PLATFORM_CMP_VERSION <= 1900 \
123 && _MSC_FULL_VER < 190023918)
125# define BSLS_REMOVEVOLATILE_WORKAROUND_VOLATILE_ARRAY 1
157template <
class t_TYPE>
173template <
class t_TYPE>
183#if defined(BSLS_REMOVEVOLATILE_WORKAROUND_VOLATILE_MULTIDIMENSIONAL_ARRAY)
184template <
class t_TYPE,
size_t t_N>
198template <
class t_TYPE,
size_t t_N>
199struct remove_volatile<volatile t_TYPE[t_N]> {
212template <
class t_TYPE>
213struct remove_volatile<t_TYPE[]> {
225template <
class t_TYPE>
226struct remove_volatile<volatile t_TYPE[]> {
237#elif defined(BSLS_REMOVEVOLATILE_WORKAROUND_VOLATILE_ARRAY)
238template <
class t_TYPE>
239struct remove_volatile<t_TYPE[]> {
251template <
class t_TYPE,
size_t t_LENGTH>
252struct remove_volatile<t_TYPE[t_LENGTH]> {
266#ifdef BSLS_COMPILERFEATURES_SUPPORT_ALIAS_TEMPLATES
274template <
class t_TYPE>
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition bdlb_printmethods.h:283
t_TYPE type
Definition bslmf_removevolatile.h:180
Definition bslmf_removevolatile.h:158
t_TYPE type
This typedef is an alias to the (template parameter) t_TYPE.
Definition bslmf_removevolatile.h:163