设为首页 加入收藏

TOP

31.4.1. acestl::message_queue_sequence, 版本1
2013-10-07 00:33:54 来源: 作者: 【 】 浏览:60
Tags:31.4.1. acestl::message_queue_sequence 版本

31.4.1. acestl::message_queue_sequence, 版本1

STLSoft的子项目ACESTL包括若干组件,用于将ACE适配到STL(以提高ACE组件的易用性)。acestl::message_queue_sequence就是对ACE_Message_Queue进行实例适配的类模板。因为这个组件正在频繁地更新,所以我打算施展我常用的伎俩,将实现进展过程拿给你看。不过还好,不同于其它章节里使用的材料,acestl::message_queue_sequence的新版本都仅以添加代码的方式修改旧版本,这好歹让我能把这个话题的篇幅控制在40页以内。清单31.7展示了其定义的第一个版本。

清单 31.7. message_queue_sequence的定义

Code View: Scroll / Show All
// In namespace acestl
template <ACE_SYNCH_DECL>
class message_queue_sequence
{
public: // Member Types
typedef char                                  value_type;
typedef ACE_Message_Queue<ACE_SYNCH_USE>      sequence_type;
typedef message_queue_sequence<ACE_SYNCH_USE> class_type;
typedef size_t                                size_type;
class                                         iterator;
public: // Construction
explicit message_queue_sequence(sequence_type& mq);
public: // Iteration
iterator begin();
iterator end();
public: // Attributes
size_type  size() const;
bool       empty() const;
private: // Member Variables
sequence_type&  m_mq;
private: // Not to be implemented
message_queue_sequence(class_type const&);
class_type& operator =(class_type const&);
};

看过前面各种序列之后,这里已经没什么可说的了;有趣内容的都在迭代器类中。注意成员类型value_type定义为char,这表示size()方法返回队列的字节数,而[begin(), end())定义的区间也是基于字节。此外没有关于消息块的方法。

【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇31.4.2. acestl::message_queue_s.. 下一篇31.3.2. platformstl::scatter_sl..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: