StringUtility Class Reference
[General Utility FunctionsGeneral Utility FunctionsGeneral Utility Functions]

#include <string_functions.h>

List of all members.


Detailed Description

This class consolidates utility code used within ROSETTA, SAGE, AST Rewrite Mechanism, and AST Processing parts of the ROSE project.
Authors:
Quinlan, Schordan, Yi.

Version:
0.5
Date:
Dec 16th 2002
Bug:
Not finished yet.
Warning:
Don't use this until it is ready.
Todo:
Finish documentation!
Note:
Large parts of documentation contained in ROSE/util/utilDocumentation.docs.
This class simplifies the use of strings in the rest of the ROSE project.

For internal use only.

This class has several member functions that could be simplified now that we use the C++ std::string class uniformally (except for places where we still use char*). We used to use the Sun C++ 4.2 compiler (the only compiler that SAGE II used to work with) and there we didn't have access to C++ strings. Later we moved to the use of a string class similar to the C++ string class and in 2002 we moved to the use of the C++ string class. We don't pretend that ROSE works with any C++ compiler that does not have the C++ string class available (fortunately all of them do now).


Public Types

typedef std::vector< StringWithLineNumberFileWithLineNumbers
typedef std::string FileNameLibrary
 OS_TYPE_UNKNOWN
 OS_TYPE_LINUX
 OS_TYPE_OSX
 OS_TYPE_WINDOWS
 OS_TPYE_WINDOWSXP
 FILENAME_LOCATION_UNKNOWN
 FILENAME_LOCATION_USER
 FILENAME_LOCATION_LIBRARY
 FILENAME_LOCATION_NOT_EXIST
enum  OSType {
  OS_TYPE_UNKNOWN,
  OS_TYPE_LINUX,
  OS_TYPE_OSX,
  OS_TYPE_WINDOWS,
  OS_TPYE_WINDOWSXP
}
enum  FileNameLocation {
  FILENAME_LOCATION_UNKNOWN,
  FILENAME_LOCATION_USER,
  FILENAME_LOCATION_LIBRARY,
  FILENAME_LOCATION_NOT_EXIST
}

Static Public Attributes

static const std::string FILENAME_LIBRARY_UNKNOWN = "Unknown"
static const std::string FILENAME_LIBRARY_USER = "User"
static const std::string FILENAME_LIBRARY_C = "C"
static const std::string FILENAME_LIBRARY_STDCXX = "C++"
static const std::string FILENAME_LIBRARY_STL = "STL"
static const std::string FILENAME_LIBRARY_LINUX = "Linux"
static const std::string FILENAME_LIBRARY_GCC = "GCC"
static const std::string FILENAME_LIBRARY_BOOST = "Boost"
static const std::string FILENAME_LIBRARY_ROSE = "Rose"

Classes

class  FileNameClassification
struct  StringWithLineNumber


Member Typedef Documentation

typedef std::vector<StringWithLineNumber> StringUtility::FileWithLineNumbers

typedef std::string StringUtility::FileNameLibrary


Member Enumeration Documentation

enum StringUtility::OSType

Enumerator:
OS_TYPE_UNKNOWN 
OS_TYPE_LINUX 
OS_TYPE_OSX 
OS_TYPE_WINDOWS 
OS_TPYE_WINDOWSXP 

enum StringUtility::FileNameLocation

Enumerator:
FILENAME_LOCATION_UNKNOWN 
FILENAME_LOCATION_USER 
FILENAME_LOCATION_LIBRARY 
FILENAME_LOCATION_NOT_EXIST 


Member Data Documentation

const std::string StringUtility::FILENAME_LIBRARY_UNKNOWN = "Unknown" [static]

const std::string StringUtility::FILENAME_LIBRARY_USER = "User" [static]

const std::string StringUtility::FILENAME_LIBRARY_C = "C" [static]

const std::string StringUtility::FILENAME_LIBRARY_STDCXX = "C++" [static]

const std::string StringUtility::FILENAME_LIBRARY_STL = "STL" [static]

const std::string StringUtility::FILENAME_LIBRARY_LINUX = "Linux" [static]

const std::string StringUtility::FILENAME_LIBRARY_GCC = "GCC" [static]

const std::string StringUtility::FILENAME_LIBRARY_BOOST = "Boost" [static]

const std::string StringUtility::FILENAME_LIBRARY_ROSE = "Rose" [static]


The documentation for this class was generated from the following files:
Generated on Tue Jan 31 05:44:58 2012 for ROSE by  doxygen 1.4.7