/* This file contains the implementation for class Boolean.

-------------------------------------------------------------------*/

#include "Boolean.h"

#include <ctype.h>
#include <string.h>

istream& operator>>(istream& In, Boolean& B)
{
   char Buffer[16];

   In.width(16);
   In >> Buffer;

   for (int i = 0; i < 16; i++)
      if (isupper(Buffer[i]))
         Buffer[i] = tolower(Buffer[i]);

   if (strcmp(Buffer, "true") == 0)
      B.Val = True;
   else if (strcmp(Buffer, "false") == 0)
      B.Val = False;
   else
      cerr << "\n*** operator>> received non-boolean value!\n";

   return In;
}

