#define DALI_REF_OBJECT_H
/*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*/
// EXTERNAL INCLUDES
+#include <atomic>
#include <cstdint> // uint32_t
// INTERNAL INCLUDES
*/
RefObject& operator=(const RefObject& rhs);
+ // Not movable
+
+ RefObject(RefObject&& rhs) = delete; ///< Deleted move constructor
+ RefObject& operator=(RefObject&& rhs) = delete; ///< Deleted move assignment operator
+
private:
- volatile uint32_t mCount; ///< Reference count
+ std::atomic_uint32_t mCount{0u}; ///< Reference count
};
/**