]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
compressor: pass string_view instead of string
authorKefu Chai <kchai@redhat.com>
Sat, 21 Nov 2020 14:28:35 +0000 (22:28 +0800)
committerKefu Chai <kchai@redhat.com>
Sun, 6 Dec 2020 04:13:50 +0000 (12:13 +0800)
this allows us to find by string without creating a std::string
instance, even if this string is not nul terminated.

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/compressor/Compressor.cc
src/compressor/Compressor.h

index 4cd3406d7a9f55a764eef9fb91823d29739c30a9..fa0f052f69b15445f8637434015f9ed39db4dff0 100644 (file)
@@ -37,7 +37,8 @@ const char* Compressor::get_comp_alg_name(int a) {
   return p->first;
 }
 
-boost::optional<Compressor::CompressionAlgorithm> Compressor::get_comp_alg_type(const std::string &s) {
+boost::optional<Compressor::CompressionAlgorithm>
+Compressor::get_comp_alg_type(std::string_view s) {
 
   auto p = std::find_if(std::cbegin(compression_algorithms), std::cend(compression_algorithms),
                   [&s](const auto& kv) { return kv.first == s; });
@@ -56,7 +57,8 @@ const char *Compressor::get_comp_mode_name(int m) {
     default: return "???";
   }
 }
-boost::optional<Compressor::CompressionMode> Compressor::get_comp_mode_type(const std::string &s) {
+boost::optional<Compressor::CompressionMode>
+Compressor::get_comp_mode_type(std::string_view s) {
   if (s == "force")
     return COMP_FORCE;
   if (s == "aggressive")
index d615e866b55aeaa39af4b271ce9c59c301340e51..0a45a990a87f149e3dd140c8213edfb403c950c2 100644 (file)
@@ -76,10 +76,10 @@ public:
 #endif
 
   static const char* get_comp_alg_name(int a);
-  static boost::optional<CompressionAlgorithm> get_comp_alg_type(const std::string &s);
+  static boost::optional<CompressionAlgorithm> get_comp_alg_type(std::string_view s);
 
   static const char *get_comp_mode_name(int m);
-  static boost::optional<CompressionMode> get_comp_mode_type(const std::string &s);
+  static boost::optional<CompressionMode> get_comp_mode_type(std::string_view s);
 
   Compressor(CompressionAlgorithm a, const char* t) : alg(a), type(t) {
   }