Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library