Defined in header `<type_traits>` | ||
---|---|---|

template< class T > struct is_aggregate; | (since C++17) |

Checks if `T`

is an aggregate type. The member constant `value`

is equal to `true`

if `T`

is an aggregate type and `false`

otherwise.

The behavior is undefined if `std::remove_all_extents_t<T>`

is an incomplete type other than (possibly cv-qualified) `void`

.

T | - | a type to check |

template< class T > inline constexpr bool is_aggregate_v = std::is_aggregate<T>::value; | (since C++17) |

value
[static] | `true` if `T` is an aggregate type , `false` otherwise (public static member constant) |

operator bool | converts the object to `bool` , returns `value` (public member function) |

operator()
(C++14) | returns `value` (public member function) |

Type | Definition |
---|---|

`value_type` | `bool` |

`type` | `std::integral_constant<bool, value>` |

© cppreference.com

Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.

http://en.cppreference.com/w/cpp/types/is_aggregate