message: specialized operators << >> for vector<char>
diff: @@ -254,6 +254,13 @@ DataStream& operator >> ( DataStream& ds, std::array<T,N>& v ) {
  return ds;
  }
  +template<typename DataStream>
  +DataStream& operator << ( DataStream& ds, const vector<char>& v ) {
  + ds << unsigned_int( v.size() );
  + ds.write( v.data(), v.size() );
  + return ds;
  +}
  +
  template<typename DataStream, typename T>
  DataStream& operator << ( DataStream& ds, const vector<T>& v ) {
  ds << unsigned_int( v.size() );
  @@ -262,6 +269,15 @@ DataStream& operator << ( DataStream& ds, const vector<T>& v ) {
  return ds;
  }
  +template<typename DataStream>
  +DataStream& operator >> ( DataStream& ds, vector<char>& v ) {
  + unsigned_int s;
  + ds >> s;
  + v.resize( s.value );
  + ds.read( v.data(), v.size() );
  + return ds;
  +}
  +
  template<typename DataStream, typename T>
  DataStream& operator >> ( DataStream& ds, vector<T>& v ) {
  unsigned_int s;
  