笔记 boost:: multi_index_container , lower_bound

#include <string>
#include <iostream>

#include <boost/multi_index_container.hpp>
#include <boost/multi_index/member.hpp>
#include <boost/multi_index/ordered_index.hpp>
#include <boost/multi_index/composite_key.hpp>

using namespace boost::multi_index;
struct test{
    int i = 0;
    test(int k){
        i = k;
    }
    friend  bool operator < (const test &a,  const test &b) {
        return a.i < b.i;
    }

    friend  bool operator > (const test &a, const test &b){
        return a.i > b.i;
    }
};

struct by_id;
typedef boost::multi_index_container<
                    test,
                            indexed_by<
                                    ordered_unique<tag<by_id>,
                                        composite_key<test, member<test, int, &test::i>>,
                                        composite_key_compare<std::less<test>>
                                        >
                                    >

                > test_index;




int main() {
    test_index tt;
    tt.insert(test(4));
    tt.insert(test(1));
    tt.insert(test(5));
    tt.insert(test(9));
    tt.insert(test(8));

    const auto low = tt.lower_bound(test(6));
    for(auto itr= low; itr != tt.end(); itr++){
        std::cout << itr->i << std::endl;
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值