CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
stdNamespaceAdder.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: RootAutoLibraryLoader
4 // Class : stdNamespaceAdder
5 //
6 // Implementation:
7 // <Notes on implementation>
8 //
9 // Original Author:
10 // Created: Tue Dec 6 09:18:05 EST 2005
11 // $Id: stdNamespaceAdder.cc,v 1.2 2006/12/20 00:23:40 wmtan Exp $
12 //
13 
14 // system include files
15 #include "boost/regex.hpp"
16 
17 // user include files
19 
20 
21 //
22 // constants, enums and typedefs
23 //
24 namespace edm {
25  namespace root {
26  std::string stdNamespaceAdder(const std::string& iClassName)
27  {
28  //adds the std:: prefix to vector, string, map, list or deque if it is not
29  // already there
30  static const boost::regex e("(^|[^[:alnum:]_:])((?:vector)|(?:string)|(?:map)|(?:list)|(?:deque))");
31  const std::string format("\\1std::\\2");
32 
33  return regex_replace(iClassName, e, format, boost::match_default | boost::format_sed);
34  }
35  }
36 }
string format
Some error handling for the usage.
std::string stdNamespaceAdder(const std::string &iClassName)
string root
initialization
Definition: dbtoconf.py:70