]>
git.proxmox.com Git - ceph.git/blob - ceph/src/rocksdb/util/kv_map.h
1 // Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
2 // This source code is licensed under both the GPLv2 (found in the
3 // COPYING file in the root directory) and Apache 2.0 License
4 // (found in the LICENSE.Apache file in the root directory).
10 #include "rocksdb/comparator.h"
11 #include "rocksdb/slice.h"
12 #include "util/coding.h"
15 namespace stl_wrappers
{
17 struct LessOfComparator
{
18 explicit LessOfComparator(const Comparator
* c
= BytewiseComparator())
21 bool operator()(const std::string
& a
, const std::string
& b
) const {
22 return cmp
->Compare(Slice(a
), Slice(b
)) < 0;
24 bool operator()(const Slice
& a
, const Slice
& b
) const {
25 return cmp
->Compare(a
, b
) < 0;
28 const Comparator
* cmp
;
31 typedef std::map
<std::string
, std::string
, LessOfComparator
> KVMap
;