![]() |
![]() ![]() ![]() ![]() |
![]() |
The MPL Reference Manual: insert_rangeBoost , ,
|
||||||||||||||||||||
| Front Page / Sequences / Intrinsic Metafunctions / insert_range |
template<
typename Sequence
, typename Pos
, typename Range
>
struct insert_range
{
typedef unspecified type;
};
insert_range выполняет включение ряда элементов в произвольном положении в последовательности.
#include <boost/mpl/insert_range.hpp>
| Parameter | Requirement | Description |
|---|---|---|
| Следствие | Расширяемая последовательность или Extensible Associative Sequence | Последовательность для вставки. |
| Pos | Форвардный итератор | Итератор в Последовательность, указывающий положение вставки. |
| Range | Иностранное последовательность | Диапазон элементов, подлежащих включению. |
Последовательность зависит. Quadratic в худшем случае, в лучшем случае линейный; см. спецификацию конкретного класса последовательности для деталей.
typedef vector_c<int,0,1,7,8,9> numbers; typedef find< numbers,integral_c<int,7> >::type pos; typedef insert_range< numbers,pos,range_c<int,2,7> >::type range; BOOST_MPL_ASSERT_RELATION( size<range>::value, ==, 10 ); BOOST_MPL_ASSERT(( equal< range,range_c<int,0,10> > )); typedef insert_range< list0<> , end< list0<> >::type , list<int> >::type result2; BOOST_MPL_ASSERT_RELATION( size<result2>::value, ==, 1 );
Статья The MPL Reference Manual: insert_range раздела может быть полезна для разработчиков на c++ и boost.
:: Главная :: ::
реклама |