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.
then JShowerPostfit f $INPUT_FILE o $OUTPUT_FILE N
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 &))'
std::string to_string(const T &value)
Convert value to string.