#include "wyraz.h"


Wyraz::Wyraz(const Wyraz& w)
{
	for (int i = 0; i < w._wyraz.IleElementow(); i++)
   {
      char c=w._wyraz[i];
		this->_wyraz.Dodaj(c);
   }
}

ostream &operator<<(ostream &o, const Wyraz &w)
{
	for (int i = 0; i < w._wyraz.IleElementow(); i++)
		o << w._wyraz[i];

	return o;
}

istream &operator>>(istream &i, Wyraz &w )
{
	w._wyraz.Wyczysc();
	char c;
  
   // pomijanie poczatkowych znakow nie bedacych literami
   while(i.good() && !isalpha(c=i.get()));
   
   if(isalpha(c)) w._wyraz.Dodaj(c);
   
   while(i.good() && isalpha(c=i.get()))  w._wyraz.Dodaj(c);
   	
   return i;
}

bool Wyraz::operator<(const Wyraz &w)  const 
{
	for (int i = 0; i < w._wyraz.IleElementow() || i< _wyraz.IleElementow()  ; i++)
	{
      char a = tolower(_wyraz[i]);
      char b = tolower(w._wyraz[i]);
		if(a != b) return a < b;
	}
	return _wyraz.IleElementow() < w._wyraz.IleElementow();
}
