//===========================================================================// // Purpose : Method definitions for the (regexp) TC_Name class. // // Public methods include: // - operator=, operator< // - operator==, operator!= // - Print // - ExtractString // //===========================================================================// #include "TIO_PrintHandler.h" #include "TC_StringUtils.h" #include "TC_Name.h" //===========================================================================// // Method : operator= // Author : Jeff Rudolph //---------------------------------------------------------------------------// // Version history // 05/01/12 jeffr : Original //===========================================================================// TC_Name_c& TC_Name_c::operator=( const TC_Name_c& name ) { if ( &name != this ) { this->srName_ = name.srName_; this->value_ = name.value_; } return( *this ); } //===========================================================================// // Method : operator< // Author : Jeff Rudolph //---------------------------------------------------------------------------// // Version history // 05/01/12 jeffr : Original //===========================================================================// bool TC_Name_c::operator<( const TC_Name_c& name ) const { return(( TC_CompareStrings( this->srName_, name.srName_ ) < 0 ) ? true : false ); } //===========================================================================// // Method : operator== // Author : Jeff Rudolph //---------------------------------------------------------------------------// // Version history // 05/01/12 jeffr : Original //===========================================================================// bool TC_Name_c::operator==( const TC_Name_c& name ) const { return(( this->srName_.length( )) && ( name.srName_.length( )) && ( this->srName_ == name.srName_ ) ? true : false ); } //===========================================================================// // Method : operator!= // Author : Jeff Rudolph //---------------------------------------------------------------------------// // Version history // 05/01/12 jeffr : Original //===========================================================================// bool TC_Name_c::operator!=( const TC_Name_c& name ) const { return(( !this->operator==( name )) ? true : false ); } //===========================================================================// // Method : Print // Author : Jeff Rudolph //---------------------------------------------------------------------------// // Version history // 05/01/12 jeffr : Original //===========================================================================// void TC_Name_c::Print( FILE* pfile, size_t spaceLen ) const { string srName; this->ExtractString( &srName ); TIO_PrintHandler_c& printHandler = TIO_PrintHandler_c::GetInstance( ); printHandler.Write( pfile, spaceLen, "%s\n", TIO_SR_STR( srName )); } //===========================================================================// // Method : ExtractString // Author : Jeff Rudolph //---------------------------------------------------------------------------// // Version history // 05/01/12 jeffr : Original //===========================================================================// void TC_Name_c::ExtractString( string* psrName ) const { if ( psrName ) { if ( this->IsValid( )) { *psrName = this->srName_; } else { *psrName = "?"; } } }