Allow the specification of custom container types in Thrift IDL files

Summary: If you want your map to be a hash_map instead of an stl::map, we now have a directive in Thrift to let you do that.

Instead of:
map<i32,i32>

You can do:
map[cpp:hash_map<int32_t,int32_t>]<i32,i32>

This tells the Thrift compiler to explicitly use whatever type was specified in the brackets when generating C++ code, instead of the implied Thrift type.

Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664828 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/compiler/cpp/src/parse/t_set.h b/compiler/cpp/src/parse/t_set.h
index e39e420..239868f 100644
--- a/compiler/cpp/src/parse/t_set.h
+++ b/compiler/cpp/src/parse/t_set.h
@@ -1,14 +1,14 @@
 #ifndef T_SET_H
 #define T_SET_H
 
-#include "t_type.h"
+#include "t_container.h"
 
 /**
  * A set is a lightweight container type that just wraps another data type.
  *
  * @author Mark Slee <mcslee@facebook.com>
  */
-class t_set : public t_type {
+class t_set : public t_container {
  public:
   t_set(t_type* elem_type) :
     elem_type_(elem_type) {}