Move Semantics
lvalues VS rvalues
How do we distinguish between when we CAN and CANNOT move?
move constructor and assignment
How do we actually move?
std::move
Can we force a move to occur?
swap and insert
How do we apply move?
perfect forwarding
Can we apply this to templates?