##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# C++ concepts: PODType

From cppreference.com
< cpp‎ | concept

Specifies that the type is POD (Plain Old Data) type. This means the type is compatible with the types used in the C programming language, can be manipulated using C library functions: it can be created with std::malloc, it can be copied with std::memmove, etc, and can be exchanged with C libraries directly, in its binary form.

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

Either:

- a scalar type;
- a class type (class or struct or union) that is:

an aggregate type; has no non-static members that are non-POD; has no members of reference type; has no user-defined copy constructor; has no user-defined destructor; | (until C++11)
a trivial type; a standard layout type; has no non-static members that are non-POD; | (since C++11)

- an array of such type.

### [edit] See also

is_pod (C++11) | checks if a type is plain-old data (POD) type (class template) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/concept/PODType&oldid=86499"