00001 // -*- C++ -*- 00002 00008 #if !defined(__ads_TrivialAssignable_h__) 00009 #define __ads_TrivialAssignable_h__ 00010 00011 #include "../defs.h" 00012 00013 BEGIN_NAMESPACE_ADS 00014 00016 00019 class TrivialAssignable { 00020 public: 00021 00022 //-------------------------------------------------------------------------- 00024 00025 00027 TrivialAssignable() {} 00028 00030 TrivialAssignable(const TrivialAssignable&) {} 00031 00033 template<typename X> 00034 const X& 00035 operator=(const X& x) { 00036 return x; 00037 } 00038 00040 }; 00041 00042 END_NAMESPACE_ADS 00043 00044 #endif