|
1
|
1 #pragma once
|
|
|
2 #include "cfg_objList.h"
|
|
|
3 #include <pfc/bsearch_inline.h>
|
|
|
4
|
|
|
5 class cfg_guidlist : public cfg_objList<GUID> {
|
|
|
6 public:
|
|
|
7 cfg_guidlist(const GUID& p_guid) : cfg_objList(p_guid) {}
|
|
|
8
|
|
|
9 void sort() {
|
|
|
10 auto v = this->get();
|
|
|
11 pfc::sort_t(v, pfc::guid_compare, v.size());
|
|
|
12 set(std::move(v));
|
|
|
13 }
|
|
|
14
|
|
|
15 bool have_item_bsearch(const GUID & p_item) {
|
|
|
16 size_t dummy;
|
|
|
17 return pfc::bsearch_simple_inline_t(*this, size(), p_item, pfc::guid_compare, dummy);
|
|
|
18 }
|
|
|
19 bool bsearch(const GUID& item, size_t & idx) {
|
|
|
20 return pfc::bsearch_simple_inline_t(*this, size(), item, pfc::guid_compare, idx);
|
|
|
21 }
|
|
|
22 size_t bsearch(const GUID& item) {
|
|
|
23 size_t ret = SIZE_MAX;
|
|
|
24 pfc::bsearch_simple_inline_t(*this, size(), item, pfc::guid_compare, ret);
|
|
|
25 return ret;
|
|
|
26 }
|
|
|
27 };
|