I have two questions on std::strings, first of all, is there anyway to get the soucecode for string.cpp (or wherever the class is implemented)? Or, is there a way to get a complete list of member functions in std::string?

My second question is more complicated. I am trying to write a few functions that I didn't find in the partial list of std::string member functions that I've been looking at. I want my functions to take a reference to a string and operate on it, thereby not needing a return value and I can't seem to get it to work.

Here is an example of one of the functions that I'm writing:
Code:
void StringToUpperCase(string* pString)
{
	for (int x = 0; x < *pString->length(); x++)
	{
		if ((((int)*pString[x] < 64) || ((int)*pString[x] > 122)) || (((int)*pString[x] >= 65) && ((int)*pString[x] <= 90))) {}
		
		*pString[x] -= 32; 
	}
}
The function is being called like:
Code:
string p = "ilikestring";
StringToUpperCase(&p);
Now, it's entirely possible that i'm doing something really stupid, but I don't think I am, I think that there is some sort of different way to dereference strings (or maybe it's because it's a class) can anyone tell me how I can do this? It probably is something stupid, I heaven't touched a compiler in a long time...