@ -51,11 +51,15 @@ class CharProxy {
CowData < T > & _cowdata ;
static const T _null = 0 ;
_FORCE_INLINE_ CharProxy ( const int & p_index , CowData < T > & cowdata) :
_FORCE_INLINE_ CharProxy ( const int & p_index , CowData < T > & p_ cowdata) :
_index ( p_index ) ,
_cowdata ( cowdata) { }
_cowdata ( p_ cowdata) { }
public :
_FORCE_INLINE_ CharProxy ( const CharProxy < T > & p_other ) :
_index ( p_other . _index ) ,
_cowdata ( p_other . _cowdata ) { }
_FORCE_INLINE_ operator T ( ) const {
if ( unlikely ( _index = = _cowdata . size ( ) ) ) {
return _null ;
@ -68,12 +72,12 @@ public:
return _cowdata . ptr ( ) + _index ;
}
_FORCE_INLINE_ void operator = ( const T & other) const {
_cowdata . set ( _index , other) ;
_FORCE_INLINE_ void operator = ( const T & p_ other) const {
_cowdata . set ( _index , p_ other) ;
}
_FORCE_INLINE_ void operator = ( const CharProxy < T > & other) const {
_cowdata . set ( _index , other. operator T ( ) ) ;
_FORCE_INLINE_ void operator = ( const CharProxy < T > & p_ other) const {
_cowdata . set ( _index , p_ other. operator T ( ) ) ;
}
} ;