//	Zinc Application Framework - Z_STR2.CPP
//	COPYRIGHT (C) 1990-1999.  All Rights Reserved.
//	Zinc Software Incorporated.  Pleasant Grove, Utah  USA

#include <z_str.hpp>

// ----- operators ----------------------------------------------------------

ZafStringData operator+(const ZafStringData &string1, const ZafStringData &string2)
{
	ZafStringData tmp = string1;
	tmp.Append(string2);
	return (tmp);
}

ZafStringData operator+(const ZafStringData &string, const ZafIChar *value)
{
	ZafStringData tmp = string;
	tmp.Append(value);
	return (tmp);
}

ZafStringData operator+(const ZafIChar *value, const ZafStringData &string)
{
	ZafStringData tmp(value);
	tmp.Append(string);
	return (tmp);
}

ZafStringData operator+(const ZafStringData &string, const ZafIChar value)
{
	ZafIChar string1[2];
	string1[0] = value;
	string1[1] = 0;
	ZafStringData tmp = string;
	tmp.Append(string1);
	return (tmp);
}

ZafStringData operator+(const ZafIChar value, const ZafStringData &string)
{
	ZafIChar string1[2];
	string1[0] = value;
	string1[1] = 0;
	ZafStringData tmp(string1);
	tmp.Append(string);
	return (tmp);
}

ZafStringData operator-(const ZafStringData &string1, const ZafStringData &string2)
{
	ZafStringData tmp = string1;
	tmp.Remove(string2);
	return (tmp);
}

ZafStringData operator-(const ZafStringData &string, const ZafIChar *value)
{
	ZafStringData tmp = string;
	tmp.Remove(value);
	return (tmp);
}

ZafStringData operator-(const ZafIChar *value, const ZafStringData &string)
{
	ZafStringData tmp = value;
	tmp.Remove(string);
	return (tmp);
}
