src: disallow copy/move fns/constructors

PR-URL: https://github.com/nodejs/node/pull/56811
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Daniel Lemire <daniel@lemire.me>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
This commit is contained in:
Yagiz Nizipli
2025-02-10 05:49:50 -05:00
committed by GitHub
parent 1781f63633
commit 6ba36b4e03
2 changed files with 6 additions and 1 deletions

View File

@@ -50,7 +50,7 @@ struct ToStringHelper {
template <unsigned BASE_BITS,
typename T,
typename = std::enable_if_t<!std::is_integral_v<T>>>
static std::string BaseConvert(T value) {
static std::string BaseConvert(T& value) { // NOLINT(runtime/references)
return Convert(std::forward<T>(value));
}
};

View File

@@ -388,6 +388,11 @@ constexpr size_t strsize(const T (&)[N]) {
template <typename T, size_t kStackStorageSize = 1024>
class MaybeStackBuffer {
public:
// Disallow copy constructor
MaybeStackBuffer(const MaybeStackBuffer&) = delete;
// Disallow copy assignment operator
MaybeStackBuffer& operator=(const MaybeStackBuffer& other) = delete;
const T* out() const {
return buf_;
}