BDE 4.14.0 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_VAL >

Additional Inherited Members

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

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.


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