119 lines
3.7 KiB
C++
119 lines
3.7 KiB
C++
//===========================================================================//
|
|
// 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 = "?";
|
|
}
|
|
}
|
|
}
|