정리 사이트...
블로그 메뉴
HOME
TAG
MEDIA LOG
GUEST BOOK
ADMIN
WRITE
검색결과 리스트
ranked_index
에 해당되는 글
1
건
2016.04.19
boost - multi_index (2) - ranked_index 사용관련
글
boost - multi_index (2) - ranked_index 사용관련
프로그래밍/boost
설정
boost 1.59 버전에서 새롭게 추가된 컨데이너...
랭킹 관련한 처리를 할때 이용하기 좋아보인다...
아래는 그냥 샘플 코드...
#include
#include "boost/shared_ptr.hpp" #include "boost/make_shared.hpp" #include "boost/multi_index_container.hpp" #include "boost/multi_index/member.hpp" #include "boost/multi_index/ordered_index.hpp" #include "boost/multi_index/ranked_index.hpp" struct Data { int uid; int value; Data(const int _uid, const int _value) : uid(_uid), value(_value) {} }; typedef boost::shared_ptr
DataPtr; struct Indices : public boost::multi_index::indexed_by < boost::multi_index::ordered_unique
, boost::multi_index::ranked_non_unique
> > { enum Index { IDX_UID, IDX_RANK, }; }; typedef boost::multi_index_container
Container; int main() { Container container; auto& uidContainer = container.get
(); auto& rankContainer = container.get
(); container.insert(boost::make_shared
(1, 100)); container.insert(boost::make_shared
(2, 200)); container.insert(boost::make_shared
(3, 300)); container.insert(boost::make_shared
(4, 200)); container.insert(boost::make_shared
(5, 500)); ////////////////////////////////////////////////////////////////////////// printf("=== 전체 랭킹\n"); for (auto it = rankContainer.begin(); it != rankContainer.end(); ++it) { printf("[rank:%d] uid:%d value:%d\n", static_cast
(rankContainer.rank(it)), (*it)->uid, (*it)->value); } printf("\n"); ////////////////////////////////////////////////////////////////////////// auto find_if = uidContainer.find(3); if (find_if == uidContainer.end()) return 0; auto find_user_rank = container.project
(find_if); if (find_user_rank == rankContainer.end()) return 0; printf("=== uid : 3번의 랭킹 정보 \n"); printf("[rank:%d] uid:%d value:%d\n", static_cast
(rankContainer.rank(find_user_rank)), (*find_user_rank)->uid, (*find_user_rank)->value); printf("\n"); return 0; }
공유하기
게시글 관리
정리 사이트...
저작자표시
비영리
by
널부러
2016. 4. 19. 13:06
PREV
|
1
|
NEXT
사이드 메뉴
기억해야할껏 정리하는 곳...
CATEGORY
분류 전체보기
(60)
프로그래밍
(47)
Network
(0)
Asio
(1)
boost
(10)
nodejs
(4)
MySQL
(2)
개발툴 관련
(9)
기타
(21)
OS
(12)
윈도우
(1)
리눅스
(11)
NAS
(1)
TAG
handlebars tip
리눅스
node.js
breakpad
boost
UDP
IOCP
kdevelop
RECENT POSTS
RECENT COMMENT
RECENT TRACKBACK
ARCHIVE
NOTICE
MY LINK
CALENDAR
이전 달의 달력을 보여줍니다.
2025.1
다음 달의 달력을 보여줍니다.
포스팅달력
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
COUNTER
TOTAL
TODAY
티스토리툴바
RECENT COMMENT