From dbae17339950e183e55d99df4992c489980e887b Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 18 Jul 2017 14:32:42 +0200 Subject: [PATCH] don't import/export inline classes --- src/misc/pv/lock.h | 2 +- src/misc/pv/noDefaultMethods.h | 20 +++++++++----------- src/misc/pv/thread.h | 6 +++--- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/src/misc/pv/lock.h b/src/misc/pv/lock.h index 3b5e29b..df297c3 100644 --- a/src/misc/pv/lock.h +++ b/src/misc/pv/lock.h @@ -33,7 +33,7 @@ typedef epicsMutex Mutex; * This is based on item 14 of * * Effective C++, Third Edition, Scott Meyers */ -class epicsShareClass Lock : private NoDefaultMethods { +class Lock : private NoDefaultMethods { public: /** * Constructor diff --git a/src/misc/pv/noDefaultMethods.h b/src/misc/pv/noDefaultMethods.h index e7afee2..4916261 100644 --- a/src/misc/pv/noDefaultMethods.h +++ b/src/misc/pv/noDefaultMethods.h @@ -21,20 +21,18 @@ namespace epics { namespace pvData { * * Note that copy constructor a copy methods are declared private. */ -class epicsShareClass NoDefaultMethods { -protected: - /** - * Constructor - */ - NoDefaultMethods(){}; - /** - * Destructor - */ - ~NoDefaultMethods(){} - private: +class NoDefaultMethods { +public: + NoDefaultMethods() {} +private: +#if __cplusplus>=201103L + NoDefaultMethods(const NoDefaultMethods&) = delete; + NoDefaultMethods & operator=(const NoDefaultMethods &) = delete; +#else // do not implement NoDefaultMethods(const NoDefaultMethods&); NoDefaultMethods & operator=(const NoDefaultMethods &); +#endif }; }} diff --git a/src/misc/pv/thread.h b/src/misc/pv/thread.h index 2f37f47..57faada 100644 --- a/src/misc/pv/thread.h +++ b/src/misc/pv/thread.h @@ -43,7 +43,7 @@ typedef epicsThreadRunable Runnable; //! Helper for those cases where a class should have more than one runnable template -class epicsShareClass RunnableMethod : public Runnable, private NoDefaultMethods +class RunnableMethod : public Runnable, private NoDefaultMethods { typedef void (C::*meth_t)(); C *inst; @@ -104,7 +104,7 @@ struct BindRunner : public epicsThreadRunable * @brief C++ wrapper for epicsThread from EPICS base. * */ -class epicsShareClass Thread : public epicsThread, private NoDefaultMethods { +class Thread : public epicsThread, private NoDefaultMethods { public: /** @brief Holds all the configuration necessary to launch a @class Thread * @@ -133,7 +133,7 @@ public: <<"example"<<1); @endcode */ - class epicsShareClass Config + class Config { unsigned int p_prio, p_stack; std::ostringstream p_strm;