I hear it always being referred to as an interface, but looking at the actual code, it doesn't look like an interface. Why the misnomer if it's not an interface?
Edit below for more clarification. I agree the question wasn't worded the best, but it did bring up a confusing topic. The code in question is from, cplusplus.com/reference/iterator/iterator
template <class Category, class T, class Distance = ptrdiff_t,
class Pointer = T*, class Reference = T&>
struct iterator {
typedef T value_type;
typedef Distance difference_type;
typedef Pointer pointer;
typedef Reference reference;
typedef Category iterator_category;
};
As well as from reading from this link. bogotobogo.com/cplusplus/stl3_iterators.php I hear this from coworkers, classmates, and even some teachers. Verbage such as this, ""The major advantage of iterators is that they offer common interfaces for any container type." The way "interface" is used here in relation to iterators.
A user pointed out below that the term interface is generically used and isn't always used as you would when writing a C++ interface.