#include "string.h"

char delete_this_declaration = 'a';

DECLARE_NAMESPACE_CS235

string::string()
{
}

string::string(const string& s)
{
}

string::string(const char* s)
{
}

string::~string()
{
}

string& string::operator = (const string& s)
{
   return *this;
}

void string::operator += (const string& s)
{
}


char& string::operator[] (int index)
{
   // need a reference to spoof the compiler until
   // this method is implemented
   return delete_this_declaration; 
}

int string::length(void) const
{
   return 0;
}
      
int string::append(const string& s)
{
   return 0;
}

END_NAMESPACE_CS235;

// boolean operators
bool operator == (const string& lhs, const string& rhs)
{
   return false;
}

bool operator != (const string& lhs, const string& rhs)
{
   return false;
}

bool operator <  (const string& lhs, const string& rhs)
{
   return false;
}

bool operator <= (const string& lhs, const string& rhs)
{
   return false;
}

bool operator >  (const string& lhs, const string& rhs)
{
   return false;
}

bool operator >= (const string& lhs, const string& rhs)
{
   return false;
}

string operator + (const string& lhs, const string& rhs)
{
   string result;
   return result;
}

ostream& operator << (ostream& out, const string& s)
{
   out << "Printing the string to an ostream." << endl;
   return out;
}

