Docs GODI Archive
Projects Blog Link DB

Search GODI:


More options
File lib/felix/rtl/flx_strutil.cpp GODI Package apps-felix
 
   flx_strutil.cpp  
#line 176 "lpsrc/flx_lib.ipk"
#include <string>
#include <sstream>
#include "flx_rtl_config.hpp"

template class FLX_RTL_EXTERN std::basic_string<char>;

namespace flx { namespace rtl { namespace strutil {
  using namespace std;
  template<class T>
  basic_string<T> mul(basic_string<T> s, int n) {
    basic_string<T> r = "";
    while(n--) r+=s;
    return r;
  }

  // normalise string positions Python style
  // note substr requires 0<=b<=size, 0<=n,
  // however n>size is OK
  template<class T>
  basic_string<T> substr(basic_string<T> const &s, int b, int e)
  {
    int n = s.size();
    if(b<0)  b=b+n;
    if(b<0)  b=0;
    if(b>=n) b=n;
    if(e<0)  e=e+n;
    if(e<0)  e=0;
    if(e>=n) e=n;
    int m =  e-b;
    if(m<0)  m=0;
    return s.substr(b,m);
  }

  template<class T>
  string str(T const &t) {
    std::ostringstream x;
    x << t;
    return x.str();
  }

  string atostr(char const *a) {
    if(a) return a;
    else return "";
  }
}}}


This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml