// Note: Instrumentation statements are highlighted in green
#include "RelationshipInfo.hpp"
#include "string_io.hpp"
///////////////////////////////////////////////////////////////////////////////
// RelationshipInfo class
///////////////////////////////////////////////////////////////////////////////
// Visual Member Definition
VISIBILITY_START(RelationshipInfo, "Relationship Info", 5)
VVARIABLE(RelationshipInfo, first, "First", 0, 0)
VVARIABLE(RelationshipInfo, middle, "Middle", 0, 0)
VVARIABLE(RelationshipInfo, last, "Last", 0, 0)
VVARIABLE(RelationshipInfo, nickName, "Nickname", 0, 0)
VVARIABLE(RelationshipInfo, gender, "Gender", 0, 0)
VVARIABLE(RelationshipInfo, relationshipType, "Relationship", 0, 0)
VTIMET_VARIABLE(RelationshipInfo, birthday, "Birthday", 0, 0)
VVOID_FUNCTION(RelationshipInfo, clear, "Clear", 0, 0)
VISIBILITY_END
RelationshipInfo::RelationshipInfo(void)
{
}
RelationshipInfo::RelationshipInfo(const RelationshipInfo & that)
{
*this = that;
}
RelationshipInfo::~RelationshipInfo(void)
{
}
RelationshipInfo & RelationshipInfo::operator =(const RelationshipInfo & that)
{
if (this != &that) {
first = that.first;
middle = that.middle;
last = that.last;
nickName = that.nickName;
gender = that.gender;
relationshipType = that.relationshipType;
birthday = that.birthday;
}
return *this;
}
std::ostream & operator<< (std::ostream& os, RelationshipInfo & out_obj)
{
write_string(os, out_obj.first);
write_string(os, out_obj.middle);
write_string(os, out_obj.last);
write_string(os, out_obj.nickName);
os << out_obj.gender << " ";
write_string(os, out_obj.relationshipType);
os << out_obj.birthday << " ";
return os;
}
std::istream & operator>> (std::istream & is, RelationshipInfo & in_obj)
{
read_string(is, in_obj.first);
read_string(is, in_obj.middle);
read_string(is, in_obj.last);
read_string(is, in_obj.nickName);
is >> in_obj.gender;
read_string(is, in_obj.relationshipType);
is >> in_obj.birthday;
return is;
}
bool RelationshipInfo::operator==(const RelationshipInfo & that) const
{
return relationshipType == that.relationshipType;
}
bool RelationshipInfo::operator!=(const RelationshipInfo & that) const
{
return relationshipType != that.relationshipType;
}
bool RelationshipInfo::operator<(const RelationshipInfo & that) const
{
return relationshipType < that.relationshipType;
}
bool RelationshipInfo::operator>(const RelationshipInfo & that) const
{
return relationshipType > that.relationshipType;
}
void RelationshipInfo::clear(void)
{
first = "";
middle = "";
last = "";
nickName = "";
gender = 1;
relationshipType = "";
birthday = time(0);
}
void RelationshipInfo::populateEditView(void)
{
first = "Jack";
middle = "Frank";
last = "Sprat";
nickName = "Jackie";
gender = 1;
relationshipType = "Unspecified";
birthday = time(0);
}
|