1 #ifndef __JLANG__JLANGTOOLKIT__ 
    2 #define __JLANG__JLANGTOOLKIT__ 
   18 namespace JPP { 
using namespace JLANG; }
 
   31   template<
class T, 
size_t N>
 
   45   template<
class JFirst_t, 
class JSecond_t>
 
   48     return (
void*) &first == (
void*) &second;
 
   62     for (string::const_iterator i = buffer. begin(); i != buffer.end(); ++i) {
 
   68     return !buffer.empty();
 
   83     string::const_iterator         p = buffer. begin();
 
   84     string::const_reverse_iterator q = buffer.rbegin();
 
   86     while (p != q.base() && isspace(*p)) { ++p; }
 
   87     while (p != q.base() && isspace(*q)) { ++q; }
 
  105     string::const_iterator         p = buffer. begin();
 
  106     string::const_reverse_iterator q = buffer.rbegin();
 
  108     while (p != q.base() && *p == 
c) { ++p; }
 
  109     while (p != q.base() && *q == 
c) { ++q; }
 
  111     return string(p,q.base());
 
  128     string buffer = input;
 
  130     for (
size_t i = buffer.find(target); i != string::npos; i = buffer.find(target,i)) {
 
  131       buffer.replace(buffer.begin() + i, buffer.begin() + i + target.length(), replacement);
 
  166     string buffer = input;
 
  168     for (string::iterator i = buffer.begin(); i != buffer.end(); ++i) {
 
  190     string::const_iterator         p = buffer. begin();
 
  191     string::const_reverse_iterator q = buffer.rbegin();
 
  193     while (p != q.base() && target.find(*p) != string::npos) { ++p; }
 
  194     while (p != q.base() && target.find(*q) != string::npos) { ++q; }
 
  196     return string(p,q.base());
 
  232     istringstream(input) >> value;
 
  248     string buffer(value);
 
  250     for (string::iterator i = buffer.begin(); i != buffer.end(); ++i) {
 
  268     string buffer(value);
 
  270     for (string::iterator i = buffer.begin(); i != buffer.end(); ++i) {
 
  288     istringstream 
is(buffer);
 
  290     return distance(istream_iterator<string>(is), istream_iterator<string>());
 
  302     return (value.size() > 1  &&  *value.begin() == 
'\''  &&  *value.rbegin() == 
'\'');
 
  314     return (value.size() > 1  &&  *value.begin() == 
'\"'  &&  *value.rbegin() == 
'\"');
 
  327       return "\'" + value + 
"\'";
 
  342       return "\"" + value + 
"\"";
 
TString replace(const TString &target, const TRegexp ®exp, const T &replacement)
Replace regular expression in input by given replacement. 
 
std::string to_lower(const std::string &value)
Convert all character to lower case. 
 
std::string single_quote(const std::string &value)
Quote string. 
 
bool is_double_quoted(const std::string &value)
Check quotation. 
 
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance. 
 
std::string double_quote(const std::string &value)
Quote string. 
 
T to_value(const std::string &input)
Convert string to value. 
 
size_t getSize(T(&array)[N])
Get size of c-array. 
 
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
 
std::string trim(const std::string &buffer)
Trim string. 
 
bool is_identical(JFirst_t &first, JSecond_t &second)
Check if two objects are indentical. 
 
bool is_single_quoted(const std::string &value)
Check quotation. 
 
do set_variable OUTPUT_DIRECTORY $WORKDIR T
 
size_t get_number_of_tokens(const std::string &buffer)
Count number of white space separated tokens. 
 
bool is_integer(const std::string &buffer)
Check if string is an integer. 
 
std::string to_upper(const std::string &value)
Convert all character to upper case. 
 
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
 
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
 
std::string to_string(const T &value)
Convert value to string.