boost smart ptr
stl vector