apicompatanamdw/compatanalysercmd/headeranalyser/src/Utils.h
author noe\swadi
Mon, 26 Apr 2010 16:28:13 +0530
changeset 3 ebe3f8f03b59
parent 0 638b9c697799
permissions -rw-r--r--
Compatibility Analyser updated to version 2.8.4. Support for Qt code analysis added.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     1
/*
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     2
* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     3
* All rights reserved.
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     4
* This component and the accompanying materials are made available
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     6
* which accompanies this distribution, and is available
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     8
*
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     9
* Initial Contributors:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    11
*
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    12
* Contributors:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    13
*
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    14
* Description:  
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    15
*
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    16
*/
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    17
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    18
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    19
#ifndef __UTILS_H__
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    20
#define __UTILS_H__
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    21
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    22
#ifdef __WIN__
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    23
#pragma warning(disable:4786)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    24
#endif
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    25
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    26
#include <stdio.h>
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    27
#include <string>
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    28
#include <list>
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    29
#include <map>
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    30
#include <vector>
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    31
#include <stdarg.h>
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    32
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    33
using namespace std;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    34
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    35
#define _X(s) XMLString::transcode(s)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    36
#define _XX(s) XMLString::release(&s)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    37
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    38
#define __FUN_MANGLED__ "__MANGLED__"
3
ebe3f8f03b59 Compatibility Analyser updated to version 2.8.4. Support for Qt code analysis added.
noe\swadi
parents: 0
diff changeset
    39
#define __Q_OBJECT_METAOBJECT__ "metaObject( ) const"
ebe3f8f03b59 Compatibility Analyser updated to version 2.8.4. Support for Qt code analysis added.
noe\swadi
parents: 0
diff changeset
    40
#define __Q_OBJECT_METACALL__ "qt_metacall( ::QMetaObject::Call, int, void** )"
ebe3f8f03b59 Compatibility Analyser updated to version 2.8.4. Support for Qt code analysis added.
noe\swadi
parents: 0
diff changeset
    41
#define __Q_OBJECT_METACAST__ "qt_metacast(  const char* )"
0
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    42
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    43
// Mostly used for implementation of headeranalyser
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    44
enum TValue
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    45
    { 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    46
    ELeftValue = 0,
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    47
    ERightValue 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    48
    };
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    49
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    50
// Used for implementation of testing program for headeranalyser
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    51
const string KEmpty = "_DEADBEEF_DEADBEEF_";
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    52
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    53
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    54
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    55
* Convert integer to string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    56
* @param value value to convert
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    57
* @param str reference to string where to convert
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    58
* @param radix numeric base into which to convert
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    59
* @return number converted to string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    60
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    61
string itoa(int value, string& str, int radix);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    62
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    63
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    64
* Convert long to string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    65
* @param value value to convert
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    66
* @param str reference to string where to convert
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    67
* @param radix numeric base into which to convert
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    68
* @return number converted to string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    69
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    70
string ltoa(long value, string& str, int radix);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    71
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    72
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    73
* Find from list
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    74
* @param aValue value to find
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    75
* @param aList where to find
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    76
* @param comparator comparator funtion
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    77
* @param comparatorparam true, if comparator is used 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    78
* @return string list
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    79
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    80
list<string>::iterator FindFromList(const string& aValue, list<string>& aList, bool(*comparator)(const string&,const string&,bool)=0, bool comparatorparam=true);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    81
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    82
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    83
* Find from list of paired string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    84
* @param aValue value to find
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    85
* @param aList where to find
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    86
* @param comparator comparator funtion
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    87
* @param comparatorparam true, if comparator is used 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    88
* @return string list
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    89
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    90
list<pair<string, string> >::iterator FindFromList(const string& aValue, list<pair<string,string> >& aList, bool(*comparator)(const string&,const string&,bool)=0, bool comparatorparam=true);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    91
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    92
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    93
* Find from list
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    94
* @param aValue value to find
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    95
* @param aList where to find
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    96
* @param compareTo compare left or right value
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    97
* @param comparator comparator funtion
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    98
* @param comparatorparam true, if comparator is used 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    99
* @return string list
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   100
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   101
list<pair<string, string> >::iterator FindFromList(const string& aValue, list<pair<string, string> >& aList, TValue compareTo, bool(*comparator)(const pair<string,string>&, const string&,bool)=0, bool comparatorparam=true, bool comparewholeString=false);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   102
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   103
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   104
* Find from list of paired string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   105
* @param aValue value to find
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   106
* @param aList where to find
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   107
* @param compareTo compare left or right value
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   108
* @param comparator comparator funtion
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   109
* @param comparatorparam true, if comparator is used 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   110
* @return string list
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   111
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   112
list<pair<pair<string, string>,string> >::iterator FindFromList(const string& aValue, list<pair<pair<string, string>,string> >& aList, TValue compareTo, bool(*comparator)(const pair<string,string>&, const string&,bool)=0, bool comparatorparam=true, bool comparewholeString=false);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   113
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   114
* Convert integer to string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   115
* @param aString string to convert
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   116
* @return lowercase string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   117
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   118
string toLowerCaseWin(string aString);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   119
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   120
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   121
* Convert integer to string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   122
* @param aString string to convert
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   123
* @return lowercase string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   124
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   125
string toLowerCase(string aString);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   126
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   127
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   128
* Convert integer to string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   129
* @param aString string to convert
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   130
* @return uppercase string 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   131
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   132
string toUpperCase(string aString);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   133
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   134
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   135
* Compare files
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   136
* @param tocompare to which to compare
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   137
* @param comparestr what to compare
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   138
* @param tryfilename if this is true, bare filenames are compared to each other
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   139
* @return true if match found
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   140
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   141
bool compareFiles(const string& tocompare, const string& comparestr, bool tryfilename = true);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   142
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   143
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   144
* Compare files
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   145
* @param tocompare to which to compare
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   146
* @param comparestr what to compare
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   147
* @param tryfilename if this is true, bare filenames are compared to each other
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   148
* @return true if match found
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   149
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   150
bool compareFiles(const pair<string, string>& tocompare, const string& comparestr, bool tryfilename = true);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   151
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   152
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   153
* Return the index of the rightmost directory separator in
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   154
* the given string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   155
*
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   156
* @param aFilename filename to search for
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   157
* @return index
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   158
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   159
string::size_type rightmostDirSeparatorIndex(const string& aFilename);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   160
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   161
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   162
* Removes leading and trailing whitespace from given string between start and 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   163
* end position and returns that trimmed string (without parts outside specified 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   164
* scope).
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   165
*
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   166
* @param aString value
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   167
* @param aStartpos where to start trimming
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   168
* @param aEndpos where to end trimming
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   169
* @return trimmed string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   170
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   171
string trimWhiteSpace(string& aString, string::size_type aStartpos = 0, string::size_type aEndpos = string::npos);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   172
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   173
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   174
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   175
* Get line from input stream
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   176
* @param aInput value
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   177
* @return line as string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   178
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   179
string getLine(istream& aInput);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   180
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   181
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   182
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   183
* Parses commandline parameters
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   184
* @param args commandline arguments as string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   185
* @return command line parameters as list
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   186
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   187
//list<string> parseCommandlineParameters(string args);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   188
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   189
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   190
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   191
* Check if the given string is numeric
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   192
* @param str string to check
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   193
* @return true, if string is numeric
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   194
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   195
bool isNum(string str);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   196
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   197
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   198
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   199
* Check if the given string is alpha
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   200
* @param str string to check
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   201
* @return true, if string is alpha 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   202
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   203
bool isAlpha(string str);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   204
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   205
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   206
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   207
* Check if the given string is alphanumeric
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   208
* @param str string to check
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   209
* @return true, if string is alphanumeric
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   210
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   211
bool isAlphaNum(string str);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   212
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   213
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   214
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   215
* Split string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   216
* @param str string to split
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   217
* @param separator separator char
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   218
* @return splitted string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   219
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   220
vector<string> splitString(const string& str, char separator=' ');
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   221
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   222
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   223
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   224
* Trims white space
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   225
* @param aControlString format string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   226
* @return  formated string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   227
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   228
//string printToString(string& aControlString, ...);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   229
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   230
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   231
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   232
* Trims white space
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   233
* @param aControlString format string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   234
* @param params list of params to format
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   235
* @return formatted string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   236
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   237
string printToString(string& aControlString, list<string> params);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   238
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   239
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   240
* Replaces all occurences of the given character in a string by another one.
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   241
* @param str reference to the string, which should be converted.
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   242
* @param replaceFrom character that should be replaced by another.
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   243
* @param replaceTo The replacing character.
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   244
*/
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   245
void replaceChar(string& str, char replaceFrom, char replaceTo);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   246
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   247
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   248
* Remove base part from a string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   249
* @param aString string to be processed
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   250
* @param aBase string to be removed
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   251
* @return string with base part removed
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   252
*/
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   253
string removeBase(string aString, string aBase);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   254
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   255
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   256
* Remove any leading directory separators from a string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   257
* @param aString string to be trimmed
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   258
* @return leading directory separator trimmed string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   259
*/
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   260
string trimLeadingDirSeparator(string aString);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   261
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   262
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   263
* Comare base file with current file
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   264
* after excluding sub dirs each time until string ends
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   265
* @param aBasestr base file string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   266
* @param aCurstr base file string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   267
* @return true if base string matches with current string anytime after 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   268
*  excluding sub dirs.Else false.
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   269
*/
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   270
bool compareWholeFileStrings(const string& aBasestr,const string& aCurstr);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   271
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   272
#define KEY_STRUCT "struct "
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   273
#define KEY_ENUM "enum"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   274
#define KEY_MACRO "#define "
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   275
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   276
#endif