1 #ifndef CondFormats_HcalObjects_HcalObjectAddons 2 #define CondFormats_HcalObjects_HcalObjectAddons 9 template <
class Item,
class Less>
10 const Item*
findByT(
const Item*
target,
const std::vector<const Item*>& itemsByT) {
12 auto item = std::lower_bound(itemsByT.begin(), itemsByT.end(),
target, less);
13 if (
item == itemsByT.end() || !less.equal(*
item, target)) {
20 template <
class Item,
class Less>
21 static void sortByT(
const std::vector<Item>&
items, std::vector<const Item*>& itemsByT) {
23 itemsByT.reserve(items.size());
25 for (
const auto&
i : items) {
27 itemsByT.push_back(&
i);
29 std::sort(itemsByT.begin(), itemsByT.end(), less);
const Item * findByT(const Item *target, const std::vector< const Item * > &itemsByT)
static void sortByT(const std::vector< Item > &items, std::vector< const Item * > &itemsByT)