title: How do you reconcile common C++ naming conventions with those of the libraries
body: <p>Most C++ naming conventions dictate the use of <code>camelCaseIdentifiers</code>: names that start with an uppercase letter for classes (<code>Person</code>, <code>Booking</code>) and names that start with a lowercase letter for fields and variables (<code>getPrice()</code>, <code>isValid()</code>, <code>largestValue</code>).  These recommendations are completely at odds with the naming conventions of the C++ library, which involve lowercase names for classes (<code>string</code>, <code>set</code>, <code>map</code>, <code>fstream</code>) and <code>names_joined_with_an_underscore</code> for methods and fields (<code>find_first_of</code>, <code>lower_bound</code>, <code>reverse_iterator</code>, <code>first_type</code>).  Further complicating the picture are operating system and C library functions, which involve compressed lowercase names in C and Unix and functions starting with an uppercase letter in Windows.</p>
  
  <p>As a result my code is a mess, because some identifiers use the C++ library, C, or operating system naming convention, and others use the prescribed C++ convention.  Writing classes or methods that wrap functionality of the library is painful, because one ends with different-style names for similar things.</p>
  
  <p>So, how do you reconcile these disparate naming conventions?</p>