BDE 4.39.x Production Release
Loading...
Searching...
No Matches
bsl::Is_Empty_Class_Imp< t_TYPE, IS_CLASS > Struct Template Reference

#include <bslmf_isempty.h>

Inheritance diagram for bsl::Is_Empty_Class_Imp< t_TYPE, IS_CLASS >:
bsl::integral_constant< t_TYPE, t_VALUE >

Detailed Description

template<class t_TYPE, bool IS_CLASS = sizeof(t_TYPE) == sizeof(Is_Empty_Size)>
struct bsl::Is_Empty_Class_Imp< t_TYPE, IS_CLASS >

Private class: do not use outside of bslmf_isempty component. This meta-function derives from false_type unless (the template parameter) t_TYPE is exactly the same size as a known empty type, in which case the following partial specialization is chosen. This test filters out the majority of problems with union types that are classes, and would produce a hard, non-SFINAEable error trying to a create a derived class to compare size in the next test.

Additional Inherited Members

- Public Types inherited from bsl::integral_constant< t_TYPE, t_VALUE >
typedef t_TYPE value_type
 
typedef integral_constant type
 
- Public Member Functions inherited from bsl::integral_constant< t_TYPE, t_VALUE >
 integral_constant ()=default
 
 integral_constant (const integral_constant &)=default
 
integral_constant operator= (const integral_constant &)=default
 
 ~integral_constant ()=default
 
 operator value_type () const
 
value_type operator() () const
 
- Static Public Attributes inherited from bsl::integral_constant< t_TYPE, t_VALUE >
static const t_TYPE value = t_VALUE
 

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