]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
common: remove ceph::optional_ref_default
authorCasey Bodley <cbodley@redhat.com>
Fri, 19 Jul 2019 15:26:38 +0000 (11:26 -0400)
committerCasey Bodley <cbodley@redhat.com>
Mon, 29 Jul 2019 19:20:50 +0000 (15:20 -0400)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
src/common/optional_ref_default.h [deleted file]

diff --git a/src/common/optional_ref_default.h b/src/common/optional_ref_default.h
deleted file mode 100644 (file)
index c488eba..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#pragma once
-
-namespace ceph {
-
-/*
- * Why?
- *
- * Can be used to pass optional param by reference, and param can be std::nullopt, in which
- * case we construct a default value and use that as a reference. This is useful for passing
- * in multiple arguments as an optional structure (with default values), and there is no need to check if
- * passed structure is actually initialized.
- */
-
-template <class T>
-class optional_ref_default
-{
-  std::optional<T> default_ref_val;
-  std::optional<std::reference_wrapper<T>> ref;
-
-public:
-  optional_ref_default(std::nullopt_t opt) : default_ref_val(T()),
-                                             ref(*default_ref_val) {}
-
-  optional_ref_default(T& t) : ref(t) {}
-
-  T *operator->() {
-    return &(ref->get());
-  }
-
-  T& operator*() {
-    return ref->get();
-  }
-};
-
-}