/* * Copyright (C) 2007-2013 Xagasoft, All rights reserved. * * This file is part of the libgats library and is released under the * terms of the license contained in the file LICENSE. */ #include "gats/boolean.h" #include #include #include Gats::Boolean::Boolean() : bVal( false ) { } Gats::Boolean::Boolean( bool bVal ) : bVal( bVal ) { } Gats::Boolean::~Boolean() { } Gats::Object *Gats::Boolean::clone() const { return new Gats::Boolean( bVal ); } void Gats::Boolean::write( Bu::Stream &rOut ) const { if( bVal ) { rOut.write("1", 1 ); } else { rOut.write("0", 1 ); } } void Gats::Boolean::read( Bu::Stream &rIn, char cType ) { if( cType == '1' ) { bVal = true; } else { bVal = false; } } Gats::Boolean &Gats::Boolean::operator=( const Gats::Boolean &rhs ) { bVal = rhs.bVal; return *this; } Gats::Boolean &Gats::Boolean::operator=( bool rhs ) { bVal = rhs; return *this; } bool Gats::Boolean::operator==( const Gats::Boolean &rhs ) const { return bVal == rhs.bVal; } bool Gats::Boolean::operator==( bool rhs ) const { return bVal == rhs; } Bu::Formatter &operator<<( Bu::Formatter &f, const Gats::Boolean &b ) { return f << "(bool) " << b.getValue(); }