]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
crimson/os: rewrite ordering using std::strong_ordering
authorKefu Chai <tchaikov@gmail.com>
Sat, 6 Aug 2022 10:26:44 +0000 (18:26 +0800)
committerKefu Chai <tchaikov@gmail.com>
Sat, 6 Aug 2022 11:07:57 +0000 (19:07 +0800)
commita25c6e5bfb3f9b46cd2feec70e2220f5ad39d8d6
treecf5c066f08dfa0356caf6ee3bd85838bbd3de3b6
parent3d72fe4f06eb6ec8cfc36aad8fde63af45d61893
crimson/os: rewrite ordering using std::strong_ordering

the goals are

1. to use std::strong_ordering mechinary for better readability
   and maintainbility
2. to remove unnecessary abstraction
3. use concept for better error message and readability.

changes:

* replace MatchKindCMP with std::strong_ordering
* replace compare_to() with operator<=>
* introduce a concept `IsFullKey` so we can use it when developing
  generic facilities to operate on both materialized key or view.
* use `IsFullKey` in place of `KeyT` when appropriate

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
src/crimson/os/seastore/onode_manager/staged-fltree/node.cc
src/crimson/os/seastore/onode_manager/staged-fltree/node.h
src/crimson/os/seastore/onode_manager/staged-fltree/node_layout.h
src/crimson/os/seastore/onode_manager/staged-fltree/stages/key_layout.h
src/crimson/os/seastore/onode_manager/staged-fltree/stages/stage.h
src/crimson/os/seastore/onode_manager/staged-fltree/stages/stage_types.h
src/crimson/os/seastore/onode_manager/staged-fltree/tree.h
src/test/crimson/seastore/onode_tree/test_staged_fltree.cc