src: remove usage of std::shared_ptr<T>::unique()

`std::shared_ptr<T>::unique()` has been removed in C++20, so this change
uses `std::shared_ptr<T>::use_count()` instead which is available in
C++20.

Fixes: https://github.com/nodejs/node/issues/47311
Signed-off-by: Darshan Sen <raisinten@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/47315
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
Darshan Sen committed 2023-04-05 17:45:56 +05:30
1 parent 5572f8fca0
commit 1ff9824094
1 file changed
+1 -1
+1 -1
View File
@@ -7,7 +7,7 @@ namespace node {
template <typename T>
T* CopyOnWrite<T>::write() {
if (!data_.unique()) {
if (data_.use_count() > 1l) {
data_ = std::make_shared<T>(*data_);
}
return data_.get();