| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | /*=========================================================================  Library:   qCTK  Copyright (c) Kitware Inc.   All rights reserved.  Distributed under a BSD License. See LICENSE.txt file.  This software is distributed "AS IS" WITHOUT ANY WARRANTY; without even  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the above copyright notice for more information.=========================================================================*/#include "ctkUtils.h"// STD includes#include <algorithm>//------------------------------------------------------------------------------void ctkUtils::qListToSTLVector(const QStringList& list,                                 std::vector<char*>& vector){  // Resize if required  if (list.count() != static_cast<int>(vector.size()))    {    vector.resize(list.count());    }  for (int i = 0; i < list.count(); ++i)    {    // Allocate memory    char* str = new char[list[i].size()+1];    strcpy(str, list[i].toLatin1());    vector[i] = str;    }}//------------------------------------------------------------------------------namespace{/// Convert QString to std::stringstatic std::string qStringToSTLString(const QString& qstring){  return qstring.toStdString();}}//------------------------------------------------------------------------------void ctkUtils::qListToSTLVector(const QStringList& list,                                 std::vector<std::string>& vector){  // To avoid unnessesary relocations, let's reserve the required amount of space  vector.reserve(list.size());  std::transform(list.begin(),list.end(),std::back_inserter(vector),&qStringToSTLString);}//------------------------------------------------------------------------------void ctkUtils::stlVectorToQList(const std::vector<std::string>& vector,                                 QStringList& list){  std::transform(vector.begin(),vector.end(),std::back_inserter(list),&QString::fromStdString);}
 |