|
Urbi SDK Remote for C++
2.7.5
|
00001 /* 00002 * Copyright (C) 2010-2012, Gostai S.A.S. 00003 * 00004 * This software is provided "as is" without warranty of any kind, 00005 * either expressed or implied, including but not limited to the 00006 * implied warranties of fitness for a particular purpose. 00007 * 00008 * See the LICENSE file for more information. 00009 */ 00010 00011 #ifndef URBI_CUSTOMUVAR_HXX 00012 # define URBI_CUSTOMUVAR_HXX 00013 00014 namespace urbi 00015 { 00016 template<typename T> 00017 CustomUVar<T>::CustomUVar() 00018 { 00019 } 00020 00021 template<typename T> 00022 CustomUVar<T>::CustomUVar(const std::string& name, impl::UContextImpl* impl) 00023 : UVar(name, impl) 00024 {} 00025 00026 template<typename T> 00027 CustomUVar<T>::CustomUVar(const std::string& a, const std::string& b, 00028 impl::UContextImpl* c) 00029 : UVar(a, b, c) 00030 {} 00031 00032 template<typename T> 00033 CustomUVar<T>::CustomUVar(UObject& a, const std::string& b, 00034 impl::UContextImpl* c) 00035 : UVar(a, b, c) 00036 {} 00037 00038 template<typename T> 00039 T& CustomUVar<T>::data() 00040 { 00041 return data_; 00042 } 00043 00044 template<typename T> 00045 T& CustomUVar<T>::data(UVar& v) 00046 { 00047 return static_cast<CustomUVar<T>&>(v).data(); 00048 } 00049 00050 template<typename T> void 00051 CustomUVar<T>::updateCache(UVar& v) 00052 { 00053 v.fill(static_cast<CustomUVar<T>&>(v).data()); 00054 } 00055 00056 template<typename T> 00057 template<typename U> 00058 void CustomUVar<T>::operator = (U v) 00059 { 00060 this->UVar::operator = (v); 00061 } 00062 } 00063 00064 #endif