title: Google protocol buffers and stl vectors, maps and boost shared pointers
body: <p>Does google protocol buffers support stl vectors, maps and boost shared pointers? I have some objects that make heavy use of <code>stl containers</code> like <code>maps</code>, <code>vectors</code> and also <code>boost::shared_ptr</code>. I want to use google protocol buffers to serialize these objects across the network to different machines.</p>
  
  <p>I want to know does google protobuf support these containers? Also if I use <code>apache thrift</code> instead, will it be better? I only need to serialize/de-serialize data and don't need the network transport that apache thrift offers. Also apache thrift not having proper documentation puts me off.</p>