懂boost的人看看这个数据结构,评价一下
用来储存任意类型数据。后面带着两个接口,目的是结合使用variant和any的优点

  1.  
  2.  
  3.  
  4.  
  5. typedef boost::variantlt;char, unsigned char, short, unsigned short, int, unsigned int, long,
  6. unsigned long, int64, uint64, float, double, void * , bool, std::pairlt;int, intgt;,
  7. std::pairlt;float, floatgt;, Anygt; Variant;
  8.  
  9.  
  10. templatelt;class T1, class T2 = boost::mpl::findlt; Variant::types, T1gt;::typegt;
  11. class VariantData
  12. {
  13. public:
  14. static Variant set(const T1 amp; in)
  15. {
  16. return Variant(in);
  17. }
  18.  
  19. static T1 get(const Variant amp; data)
  20. {
  21. return boost::getlt; T1 gt;(data);
  22. }
  23.  
  24. };
  25.  
  26. templatelt;class T1gt;
  27. class VariantDatalt;T1, boost::mpl::endlt;Variant::typesgt;::typegt;
  28. {
  29. public:
  30.  
  31.  
  32. static Variant set(const T1 amp; in)
  33. {
  34. return Variant(Any(in));
  35. }
  36. static T1 get(const Variant amp; data)
  37. {
  38. return boost::any_castlt;T1gt;(boost::getlt; Any gt;(data));
  39. }
  40. };
  41.  
  42.  

复制代码

有什么问题 帮忙批评锐亚教育

锐亚教育,游戏开发论坛|游戏制作人|游戏策划|游戏开发|独立游戏|游戏产业|游戏研发|游戏运营| unity|unity3d|unity3d官网|unity3d 教程|金融帝国3|8k8k8k|mcafee8.5i|游戏蛮牛|蛮牛 unity|蛮牛