Reputation: 18081
The C++ standard specifies that mutex, atomics or conditinal_variable are of standard-layout type.
What is the benefit of this specification? How a user can take advantage of this property?
And in general, what could I gain if a know a type is standard-layout without knowing the detail of its implementation?
Upvotes: 6
Views: 447
Reputation: 73394
You could make your code talk with other programs, written in different Programming Languages than yours.
The ref mentions C++ concepts: StandardLayoutType:
Standard layout types are useful for communicating with code written in other programming languages.
Upvotes: 1
Reputation: 409364
From this standard layout reference:
Standard layout types are useful for communicating with code written in other programming languages.
For example, if you build a mixed C and C++ application, the C structures will be standard layout and can be used interchangeably between the parts written in C and the parts written in C++. This is often very crucial for being able to use operating system native functions and structures.
Upvotes: 2