C++ concepts: StandardLayoutType
From cppreference.com
Specifies that a type is standard layout type. Standard layout types are useful for communicating with code written in other programming languages.
Note, that the standard doesn't define a named requirement or concept with this name. This is a type category defined by the core language. It is included here as concept only for consistency.
[edit] Requirements
- All non-static data members have the same access control
- Has no virtual functions or virtual base classes
- All non-static data members and base classes are themselves standard layout types
- Has no base classes of the same type as the first non-static data member (see empty base optimization)
-
- Either has no non-static data members in the most derived class and at most one base class with non-static data members
- Or has no base classes with non-static data members at all
[edit] Properties
See Standard layout.
[edit] See also
(C++11)
|
checks if a type is standard-layout type (class template) |