//____________________________________________________________________________
/*!

\namespace  genie::utils::str

\brief      Utilities for string manipulation

\author     Costas Andreopoulos <costas.andreopoulos \at stfc.ac.uk>
            STFC, Rutherford Appleton Laboratory

\created    January 12, 2004

\cpright    Copyright (c) 2003-2009, GENIE Neutrino MC Generator Collaboration
            For the full text of the license visit http://copyright.genie-mc.org
            or see $GENIE/LICENSE
*/
//____________________________________________________________________________

#ifndef _STRING_UTILS_H_
#define _STRING_UTILS_H_

#include <string>
#include <vector>

using std::string;
using std::vector;

namespace genie {
namespace utils {

namespace str
{
  string         TrimSpaces             (string input);
  string         IntAsString            (int i);
  vector<string> Split                  (string input, string delim);
  string         RemoveSuccessiveSpaces (string input);
  string         FilterString           (string filt, string input);
  string         ToUpper                (string input);

  //! concatenation methods used for NuValidator's TGTextEdit widgets

  const char * Concat(const char * s1, const char * s2,
                                  const char * s3 = 0, const char * s4 = 0);
  const char * Concat(const char * s1, bool b);
  const char * Concat(const char * s1, int n);
  const char * Concat(const char * s1, float x);
  const char * Concat(const char * s1, double x);

} // str    namespace
} // utils  namespace
} // genie  namespace

#endif // _STRING_UTILS_H_


