36             template <
typename S, 
typename T> 
 
   38             fill(std::vector<S>& outArray, 
const std::vector<T>& inArray, 
size_t first, 
size_t last)
 
   41                         int range = last - first + 1;
 
   42                         if (outArray.size() != 
static_cast<size_t>(range)) outArray.resize(range);
 
   43                         for (
size_t j = first - 1; j < last; ++j)
 
   45                                 outArray[j - first + 1] = 
static_cast<S
>(inArray[j]);
 
   51             template <
typename S, 
typename T> 
 
   52             void fill(std::valarray<S>& outArray, 
const std::vector<T>& inArray, 
size_t first, 
size_t last)
 
   55                     int range = last - first + 1;
 
   56                     if (outArray.size() != 
static_cast<size_t>(range)) outArray.resize(range); 
 
   57                         for (
size_t j = first - 1; j < last; ++j)
 
   59                                 outArray[j - first + 1] = 
static_cast<S
>(inArray[j]);
 
   65             template <
typename S, 
typename T> 
 
   66             void fill(std::valarray<S>& outArray, 
const std::valarray<T>& inArray)
 
   68                          size_t n = inArray.size();
 
   69                      if (outArray.size() !=  n) outArray.resize(n);           
 
   70                          for (
size_t j = 0;j < n; ++j) outArray[j] 
 
   71                                  = static_cast<S>(inArray[j]);
 
   74 #ifdef TEMPLATE_AMBIG7_DEFECT 
   75             template <
typename S, 
typename T> 
 
   76             void fillMSva(std::vector<S>& outArray, 
const std::valarray<T>& inArray)
 
   78                          size_t n = inArray.size();
 
   79                      if (outArray.size() !=  n) outArray.resize(n);           
 
   80                          for (
size_t j = 0;j < n; ++j) outArray[j] 
 
   81                                  = static_cast<S>(inArray[j]);
 
   85             template <
typename S, 
typename T> 
 
   86             void fill(std::vector<S>& outArray, 
const std::valarray<T>& inArray)
 
   88                          size_t n = inArray.size();
 
   89                      if (outArray.size() !=  n) outArray.resize(n);           
 
   90                          for (
size_t j = 0;j < n; ++j) outArray[j] 
 
   91                                  = static_cast<S>(inArray[j]);
 
  100             fill(std::vector<string>& outArray, 
const std::vector<T>& inArray, 
size_t first, 
size_t last)
 
  104                         throw InvalidConversion(errorMessage(outArray,inArray),
false);
 
  108             template <
typename T> 
 
  109             void fill(std::vector<T>& outArray, 
const std::vector<string>& inArray, 
size_t first, 
size_t last)
 
  113                         throw InvalidConversion(errorMessage(outArray,inArray),
false);
 
  119                 template<
typename S, 
typename T>
 
  120                 string errorMessage( 
const S& out, 
const T& in)
 
  122 #ifdef SSTREAM_DEFECT 
  123                     std::ostrstream errMsg;
 
  125                         std::ostringstream errMsg;
 
  127                         errMsg << 
" Error: no conversion from " << 
typeid(in).name() << 
" to " 
  128                                << 
typeid(out).name() << std::endl;