首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

【Boost】boost:range(区间)引见

2014-06-07 
【Boost】boost::range(区间)介绍1. 概念区间的概念类于STL中的容器概念。一个区间提供了可以访问半开放区间[

【Boost】boost::range(区间)介绍
1. 概念
区间的概念类似于STL中的容器概念。一个区间提供了可以访问半开放区间[first,one_past_last)中元素的迭代器,还提供了区间中的元素数量的信息。
1.1 目的
引入区间概念的目的在于:有很多类似于容器的类型,以及用于这些类型的简化算法。
1.2 用于的类型
类似于标准的容器
std::pair<iterator,iterator>
内建数组
2. 示例
构造方法

void test_range_type(){using namespace boost;// 数组const int SIZE = 9;typedef int array_t[SIZE];const array_t ca = {1, 2, 3, 4, 5, 6, 7, 8, 10};assert((is_same<range_iterator<array_t>::type,       int*          >::value));assert((is_same<range_value<array_t>::type,         int           >::value));assert((is_same<range_difference<array_t>::type,     std::ptrdiff_t>::value));assert((is_same<range_size<array_t>::type,           std::size_t   >::value));assert((is_same<range_const_iterator<array_t>::type, const int*    >::value));assert(begin(ca) == ca);assert(end(ca) == ca + size(ca));assert(empty(ca) == false);}







热点排行