There are adaptors for containers, iterators, and functions.
“Essentially, an adaptor is a mechanism for making one thing act like another.”
There are three sequential container adaptors:
Stack: FIFO.
Queue: LIFO.
Priority_queue: Prioritises based on, by default, <.
As an example; the stack adaptor turns a sequential container, other than array or forward_list, and makes it operate like a stack. Iterator adaptors include such things as reverse_iterator, move_iterator, http://en.cppreference.com/w/cpp/iterator#Iterator_adaptors, and stream iterators ...