C++ STL library Basic concepts: Assignable Read and write value Default Constructable No args needed to construct Equality Comparable operator==() and operator!=() LessThan Comparable operator<() and operator>()