diff options
Diffstat (limited to 'src/mongo/util/optional_util.h')
-rw-r--r-- | src/mongo/util/optional_util.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mongo/util/optional_util.h b/src/mongo/util/optional_util.h index dca4ab7b7c4..e1820af7320 100644 --- a/src/mongo/util/optional_util.h +++ b/src/mongo/util/optional_util.h @@ -139,4 +139,15 @@ template <typename T, std::enable_if_t<canStreamWithExtension<T>, int> = 0> Extension(const T& t)->Extension<T>; } // namespace optional_io + +namespace optional_util { +template <typename T, typename U> +void setOrAdd(boost::optional<T>& counter, U value) { + if (!counter) { + counter = value; + return; + } + counter = *counter + value; +} +} // namespace optional_util } // namespace mongo |