test_capacity.cpp
来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 84 行
CPP
84 行
/* Boost.MultiIndex test for capacity memfuns. * * Copyright 2003-2008 Joaquin M Lopez Munoz. * Distributed under the Boost Software License, Version 1.0. * (See accompanying file LICENSE_1_0.txt or copy at * http://www.boost.org/LICENSE_1_0.txt) * * See http://www.boost.org/libs/multi_index for library home page. */#include "test_capacity.hpp"#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */#include "pre_multi_index.hpp"#include "employee.hpp"#include <boost/test/test_tools.hpp>using namespace boost::multi_index;void test_capacity(){ employee_set es; es.insert(employee(0,"Joe",31,1123)); es.insert(employee(1,"Robert",27,5601)); es.insert(employee(2,"John",40,7889)); es.insert(employee(3,"Albert",20,9012)); es.insert(employee(4,"John",57,1002)); BOOST_CHECK(!es.empty()); BOOST_CHECK(es.size()==5); BOOST_CHECK(es.size()<=es.max_size()); es.erase(es.begin()); BOOST_CHECK(!get<name>(es).empty()); BOOST_CHECK(get<name>(es).size()==4); BOOST_CHECK(get<name>(es).size()<=get<name>(es).max_size()); es.erase(es.begin()); BOOST_CHECK(!get<as_inserted>(es).empty()); BOOST_CHECK(get<as_inserted>(es).size()==3); BOOST_CHECK(get<as_inserted>(es).size()<=get<as_inserted>(es).max_size()); multi_index_container<int,indexed_by<sequenced<> > > ss; ss.resize(10); BOOST_CHECK(ss.size()==10); BOOST_CHECK(ss.size()<=ss.max_size()); ss.resize(20); BOOST_CHECK(ss.size()==20); ss.resize(5); BOOST_CHECK(ss.size()==5); ss.resize(4); BOOST_CHECK(ss.size()==4); multi_index_container<int,indexed_by<random_access<> > > rs; rs.resize(10); BOOST_CHECK(rs.size()==10); BOOST_CHECK(rs.size()<=rs.max_size()); BOOST_CHECK(rs.size()<=rs.capacity()); rs.resize(20); BOOST_CHECK(rs.size()==20); BOOST_CHECK(rs.size()<=rs.capacity()); unsigned int c=rs.capacity(); rs.resize(5); BOOST_CHECK(rs.size()==5); BOOST_CHECK(rs.capacity()==c); rs.reserve(100); BOOST_CHECK(rs.size()==5); BOOST_CHECK(rs.capacity()>=100); c=rs.capacity(); rs.reserve(99); BOOST_CHECK(rs.size()==5); BOOST_CHECK(rs.capacity()==c);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?