Ceylan::Hashable Class Reference

Interface that every object able to compute a hash value should implement, to ease hashtable handling. More...

#include <CeylanHashable.h>

Inheritance diagram for Ceylan::Hashable:

Inheritance graph
[legend]
Collaboration diagram for Ceylan::Hashable:

Collaboration graph
[legend]

List of all members.

Public Types

enum  TextOutputFormat { rawText, html }
 Defines what text output formats for TextDisplayable instances are available. More...

Public Member Functions

 Hashable ()
 Basic constructor.
virtual ~Hashable () throw ()
 Basic virtual destructor.
virtual WeakHashCode getWeakHashCode () const =0
 Returns the current weak hash code for this Hashable.
virtual StrongHashCode getStrongHashCode () const =0
 Returns the current strong hash code for this Hashable.
virtual const std::string toString (VerbosityLevels level=high) const
 Returns a user-friendly description of the state of this object.

Static Public Member Functions

static WeakHashCode GetWeakHashCode (const std::string &stringToHash)
 Returns the weak hash code corresponding to the specified string.
static StrongHashCode GetStrongHashCode (const std::string &stringToHash)
 Returns the strong hash code corresponding to the specified string.
static const std::string ToString (std::list< TextDisplayable * > displayables, Ceylan::VerbosityLevels level=Ceylan::high)
 Returns a user-friendly description of this list of pointers to text displayable instances.
static TextOutputFormat GetOutputFormat ()
 Returns the current overall text format to be used by TextDisplayable instances.
static void SetOutputFormat (TextOutputFormat newOutputFormat)
 Sets the current overall text format to be used by TextDisplayable instances.

Static Protected Attributes

static TextOutputFormat _OutputFormat = rawText
 The text format to be used currently by TextDisplayable instances.

Private Member Functions

 Hashable (const Hashable &source)
 Copy constructor made private to ensure that it will be never called.
Hashableoperator= (const Hashable &source)
 Assignment operator made private to ensure that it will be never called.


Detailed Description

Interface that every object able to compute a hash value should implement, to ease hashtable handling.

Note:
It should be specified whether the hashcodes depend on the state of the Hashable. At least in theory, they should not.
See also:
Object.

Definition at line 79 of file CeylanHashable.h.


Member Enumeration Documentation

Defines what text output formats for TextDisplayable instances are available.

Enumerator:
rawText 
html 

Definition at line 124 of file CeylanTextDisplayable.h.


Constructor & Destructor Documentation

Hashable::Hashable (  ) 

Basic constructor.

Definition at line 40 of file CeylanHashable.cc.

Hashable::~Hashable (  )  throw () [virtual]

Basic virtual destructor.

Definition at line 47 of file CeylanHashable.cc.

Ceylan::Hashable::Hashable ( const Hashable source  )  [private]

Copy constructor made private to ensure that it will be never called.

The compiler should complain whenever this undefined constructor is called, implicitly or not.


Member Function Documentation

TextDisplayable::TextOutputFormat TextDisplayable::GetOutputFormat (  )  [static, inherited]

StrongHashCode Hashable::GetStrongHashCode ( const std::string &  stringToHash  )  [static]

Returns the strong hash code corresponding to the specified string.

Definition at line 94 of file CeylanHashable.cc.

virtual StrongHashCode Ceylan::Hashable::getStrongHashCode (  )  const [pure virtual]

Returns the current strong hash code for this Hashable.

Referenced by toString().

WeakHashCode Hashable::GetWeakHashCode ( const std::string &  stringToHash  )  [static]

Returns the weak hash code corresponding to the specified string.

Definition at line 71 of file CeylanHashable.cc.

virtual WeakHashCode Ceylan::Hashable::getWeakHashCode (  )  const [pure virtual]

Returns the current weak hash code for this Hashable.

Referenced by toString().

Hashable& Ceylan::Hashable::operator= ( const Hashable source  )  [private]

Assignment operator made private to ensure that it will be never called.

The compiler should complain whenever this undefined operator is called, implicitly or not.

void TextDisplayable::SetOutputFormat ( TextOutputFormat  newOutputFormat  )  [static, inherited]

Sets the current overall text format to be used by TextDisplayable instances.

Parameters:
newOutputFormat the new output format.

Definition at line 72 of file CeylanTextDisplayable.cc.

References Ceylan::TextDisplayable::_OutputFormat.

Referenced by Ceylan::Log::LogHolder::LogHolder().

const std::string TextDisplayable::ToString ( std::list< TextDisplayable * >  displayables,
Ceylan::VerbosityLevels  level = Ceylan::high 
) [static, inherited]

Returns a user-friendly description of this list of pointers to text displayable instances.

Parameters:
displayables a list of pointers to TextDisplayable instances/
level the requested verbosity level.
Note:
Text output format is determined from overall settings.
See also:
toString, Ceylan::VerbosityLevels

Definition at line 45 of file CeylanTextDisplayable.cc.

References Ceylan::formatStringList().

const string Hashable::toString ( VerbosityLevels  level = high  )  const [virtual]

Returns a user-friendly description of the state of this object.

Parameters:
level the requested verbosity level.
Note:
Text output format is determined from overall settings.
See also:
TextDisplayable

Implements Ceylan::TextDisplayable.

Definition at line 54 of file CeylanHashable.cc.

References getStrongHashCode(), getWeakHashCode(), Ceylan::low, and Ceylan::medium.


Member Data Documentation

TextDisplayable::TextOutputFormat TextDisplayable::_OutputFormat = rawText [static, protected, inherited]

The text format to be used currently by TextDisplayable instances.

Note:
Defaults to raw text.

Definition at line 158 of file CeylanTextDisplayable.h.

Referenced by Ceylan::TextDisplayable::GetOutputFormat(), and Ceylan::TextDisplayable::SetOutputFormat().


The documentation for this class was generated from the following files:

Generated on Thu Jun 4 20:40:14 2009 for Ceylan by  doxygen 1.5.8