Changeset 2719 in Sophya for trunk/SophyaLib/TArray/tvector.cc
- Timestamp:
- May 13, 2005, 6:44:31 PM (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/TArray/tvector.cc
r2615 r2719 1 // $Id: tvector.cc,v 1.1 7 2004-09-10 09:55:07cmv Exp $1 // $Id: tvector.cc,v 1.18 2005-05-13 16:44:30 cmv Exp $ 2 2 // C.Magneville 04/99 3 3 #include "sopnamsp.h" … … 101 101 } 102 102 103 104 103 //! Constructor of a vector from a TArray \b a 105 104 /*! … … 132 131 throw SzMismatchError("TVector<T>::TVector(const BaseArray& a) NRows()!=1 && NCols()!=1 "); 133 132 arrtype_ = 2; // Type = Vector 133 } 134 135 //! Constructor from a STL vector 136 template <class T> 137 TVector<T>::TVector(const vector<T>& v, short lcv) 138 { 139 sa_size_t n = v.size(); 140 if(n==0) 141 throw SzMismatchError("TVector<T>::TVector(const vector<T>& v) size()==0 "); 142 arrtype_ = 2; // Type = Vector 143 ReSize(n,lcv,false); 144 for(sa_size_t i=0;i<n;i++) (*this)(i) = v[i]; 134 145 } 135 146 … … 206 217 return(rs); 207 218 219 } 220 221 //! Fill from a STL vector 222 /*! 223 \param v : STL vector to copy 224 \param noresize : "true" means TVector keeps its size 225 \warning Filling is always done starting at TVector(0) 226 */ 227 template <class T> 228 sa_size_t TVector<T>::FillFr(const vector<T>& v,bool noresize) 229 { 230 sa_size_t n = v.size(); 231 if(n==0) return 0; //STL vector de taille nulle! 232 if(!noresize) ReSize(n,SameVectorType,false); 233 if(Size()<n) n = Size(); 234 if(n==0) return 0; //TVector de taille nulle sans resize! 235 for(sa_size_t i=0;i<n;i++) (*this)(i) = v[i]; 236 return n; 237 } 238 239 //! Fill a STL vector 240 /*! 241 \param v : STL vector to fill 242 \param addtoend : "true" means TVector will be added at the end of "v" 243 */ 244 template <class T> 245 sa_size_t TVector<T>::FillTo(vector<T>& v,bool addtoend) 246 { 247 sa_size_t n = Size(); 248 if(n==0) return 0; //TVector de taille nulle! 249 if(!addtoend) v.resize(0); 250 for(sa_size_t i=0;i<n;i++) v.push_back((*this)(i)); 251 return n; 208 252 } 209 253
Note:
See TracChangeset
for help on using the changeset viewer.