// ------- Input Function Member ---------------------------------------
-

#include <string>                         // string
#include <cstdlib>                        // exit()
void Color::Read(istream & in)
{
   string colorString;                                // read string
   in >> colorString;

   for (int i = 0; i < colorString.size(); i++)       // convert case
      if (islower(colorString[i]))                    // if needed
         colorString[i] = toupper(colorString[i]);

   if (colorString == "RED")                          // map to 
ColorValue
      myColorValue = RED;
   else if (colorString == "ORANGE")
      myColorValue = ORANGE;
   else if (colorString == "YELLOW")
      myColorValue = YELLOW;
   else if (colorString == "GREEN")
      myColorValue = GREEN;
   else if (colorString == "BLUE")
      myColorValue = BLUE;
   else if (colorString == "INDIGO")
      myColorValue = INDIGO;
   else if (colorString == "VIOLET")
      myColorValue = VIOLET;
   else
   {
      cerr << "\n*** Read: invalid color received!\n";
      exit(1);
   }
}

