face: Mark Face class as noncopyable
Copy of the Face object has undefined behavior and thus is prohibited.
Change-Id: I701e208c498d323c33d2a32bd6f1e163415b25a6
refs: #1252
diff --git a/src/common.hpp b/src/common.hpp
index 6398323..bed6c3c 100644
--- a/src/common.hpp
+++ b/src/common.hpp
@@ -47,8 +47,10 @@
namespace ndn {
namespace ptr_lib = std;
-namespace func_lib = std
-
+namespace func_lib = std;
+
+using std::noncopyable;
+
using std::shared_ptr;
using std::make_shared;
using std::enable_shared_from_this;
@@ -74,6 +76,8 @@
namespace ptr_lib = boost;
namespace func_lib = boost;
+using boost::noncopyable;
+
using boost::shared_ptr;
using boost::make_shared;
using boost::enable_shared_from_this;
diff --git a/src/face.hpp b/src/face.hpp
index 9b1fbe4..b617e42 100644
--- a/src/face.hpp
+++ b/src/face.hpp
@@ -50,7 +50,8 @@
/**
* @brief Abstraction to communicate with local or remote NDN forwarder
*/
-class Face {
+class Face : noncopyable
+{
public:
struct Error : public std::runtime_error { Error(const std::string &what) : std::runtime_error(what) {} };