/*
- Copyright (C) 2014 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2014-2021 Carl Hetherington <cth@carlh.net>
This file is part of libdcp.
files in the program, then also delete it here.
*/
+
/** @file src/object.h
- * @brief Object class.
+ * @brief Object class
*/
+
#ifndef LIBDCP_OBJECT_H
#define LIBDCP_OBJECT_H
-#include <boost/noncopyable.hpp>
+
#include <string>
+
struct write_interop_subtitle_test;
struct write_interop_subtitle_test2;
struct write_interop_subtitle_test3;
struct write_smpte_subtitle_test3;
struct sync_test2;
+
namespace dcp {
+
/** @class Object
- * @brief Some part of a DCP that has a UUID.
+ * @brief Some part of a DCP that has a UUID
*/
-class Object : public boost::noncopyable
+class Object
{
public:
+ /** Create an Object with a random ID */
Object ();
+
+ /** Create an Object with a given ID.
+ * @param id ID to use.
+ */
explicit Object (std::string id);
+
+ Object (Object const&) = delete;
+ Object& operator= (Object const&) = delete;
+
virtual ~Object () {}
- /** @return ID */
std::string id () const {
return _id;
}
friend struct ::write_smpte_subtitle_test3;
friend struct ::sync_test2;
- /** ID */
std::string _id;
};