clientID.h

Go to the documentation of this file.
00001 
00014 #ifndef _DLR_THREAD_CLIENTID_H_
00015 #define _DLR_THREAD_CLIENTID_H_
00016 
00017 #include <dlrCommon/exception.h>
00018 
00019 namespace dlr {
00020 
00021   namespace thread {
00022 
00023     // Forward declaration.
00024     template<class Type> class BroadcastQueue;
00025     template<class Type> class DistributionQueue;
00026     
00039     template <class Type>
00040     class ClientID {
00041       friend class BroadcastQueue<Type>;
00042       friend class DistributionQueue<Type>;
00043 
00044     public:
00045 
00049       ClientID()
00050         : m_count(0), m_idNumber(0), m_index(0) {}
00051 
00052       
00057       ~ClientID() {}
00058       
00059 
00060     private:
00061 
00067       ClientID(const ClientID&) {
00068         DLR_THROW(LogicException, "ClientID::ClientID()",
00069                   "Copying ClientID instances is disallowed.");
00070       }
00071                 
00072       
00078       ClientID&
00079       operator=(const ClientID& source) {
00080         DLR_THROW(LogicException, "ClientID::operator=()",
00081                   "Copying ClientID instances is disallowed.");
00082       }
00083 
00084       size_t m_count;
00085       size_t m_idNumber;
00086       size_t m_index;
00087     };
00088 
00089   } // namespace thread
00090 
00091 } // namespace dlr
00092 
00093 #endif /* #ifndef _DLR_THREAD_CLIENTID_H_ */

Generated on Mon Jul 9 20:34:02 2007 for dlrLibs Utility Libraries by  doxygen 1.5.2