NCBI C++ ToolKit
Public Types | Public Member Functions | Public Attributes | Protected Attributes | List of all members
CClusterer::CSingleCluster Class Reference

Search Toolkit Book for CClusterer::CSingleCluster

Single cluster. More...

#include <algo/cobalt/clusterer.hpp>

+ Inheritance diagram for CClusterer::CSingleCluster:
+ Collaboration diagram for CClusterer::CSingleCluster:

Public Types

typedef vector< int >::const_iterator const_iterator
 
typedef vector< int >::iterator iterator
 
- Public Types inherited from CObject
enum  EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern }
 Control filling of newly allocated memory. More...
 
typedef CObjectCounterLocker TLockerType
 Default locker type for CRef. More...
 
typedef atomic< Uint8TCounter
 Counter type is CAtomiCounter. More...
 
typedef Uint8 TCount
 Alias for value type of counter. More...
 

Public Member Functions

 CSingleCluster (void)
 Create empty cluster. More...
 
void AddElement (int el)
 Add element to the cluster. More...
 
void clear (void)
 Removes all elements from the cluster. More...
 
void SetPrototype (int el)
 Set cluster prototype. More...
 
int GetPrototype (void) const
 Get cluster prototype. More...
 
void SetMaxDistance (double dist)
 Set maximum distance in cluster. More...
 
double GetMaxDistance (void) const
 Get maximum distance in cluster. More...
 
size_t size (void) const
 Get cluster size. More...
 
int FindCenterElement (const TDistMatrix &dmatrix) const
 Find element that is closest to the center of the cluster. More...
 
const vector< int > & GetElements (void) const
 Get list of cluster elements. More...
 
int operator[] (size_t index) const
 Get element. More...
 
const_iterator begin (void) const
 
const_iterator end (void) const
 
iterator begin (void)
 
iterator end (void)
 
- Public Member Functions inherited from CObject
 CObject (void)
 Constructor. More...
 
 CObject (const CObject &src)
 Copy constructor. More...
 
virtual ~CObject (void)
 Destructor. More...
 
CObjectoperator= (const CObject &src) THROWS_NONE
 Assignment operator. More...
 
bool CanBeDeleted (void) const THROWS_NONE
 Check if object can be deleted. More...
 
bool IsAllocatedInPool (void) const THROWS_NONE
 Check if object is allocated in memory pool (not system heap) More...
 
bool Referenced (void) const THROWS_NONE
 Check if object is referenced. More...
 
bool ReferencedOnlyOnce (void) const THROWS_NONE
 Check if object is referenced only once. More...
 
void AddReference (void) const
 Add reference to object. More...
 
void RemoveReference (void) const
 Remove reference to object. More...
 
void ReleaseReference (void) const
 Remove reference without deleting object. More...
 
virtual void DoNotDeleteThisObject (void)
 Mark this object as not allocated in heap – do not delete this object. More...
 
virtual void DoDeleteThisObject (void)
 Mark this object as allocated in heap – object can be deleted. More...
 
void * operator new (size_t size)
 Define new operator for memory allocation. More...
 
void * operator new[] (size_t size)
 Define new[] operator for 'array' memory allocation. More...
 
void operator delete (void *ptr)
 Define delete operator for memory deallocation. More...
 
void operator delete[] (void *ptr)
 Define delete[] operator for memory deallocation. More...
 
void * operator new (size_t size, void *place)
 Define new operator. More...
 
void operator delete (void *ptr, void *place)
 Define delete operator. More...
 
void * operator new (size_t size, CObjectMemoryPool *place)
 Define new operator using memory pool. More...
 
void operator delete (void *ptr, CObjectMemoryPool *place)
 Define delete operator. More...
 
virtual void DebugDump (CDebugDumpContext ddc, unsigned int depth) const
 Define method for dumping debug information. More...
 
- Public Member Functions inherited from CDebugDumpable
 CDebugDumpable (void)
 
virtual ~CDebugDumpable (void)
 
void DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const
 
void DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const
 
void DumpToConsole (void) const
 

Public Attributes

TPhyTreeNodem_Tree
 Cluster tree root. More...
 
vector< double > m_DistToRoot
 Distances between cluster elements and tree root. More...
 

Protected Attributes

int m_Prototype
 Index of cluster representative element. More...
 
double m_Diameter
 Max distance between elements. More...
 
vector< intm_Elements
 List of indeces of cluster elements. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from CObject
static NCBI_XNCBI_EXPORT void ThrowNullPointerException (void)
 Define method to throw null pointer exception. More...
 
static NCBI_XNCBI_EXPORT void ThrowNullPointerException (const type_info &type)
 
static EAllocFillMode GetAllocFillMode (void)
 
static void SetAllocFillMode (EAllocFillMode mode)
 
static void SetAllocFillMode (const string &value)
 Set mode from configuration parameter value. More...
 
- Static Public Member Functions inherited from CDebugDumpable
static void EnableDebugDump (bool on)
 
- Static Public Attributes inherited from CObject
static const TCount eCounterBitsCanBeDeleted = 1 << 0
 Define possible object states. More...
 
static const TCount eCounterBitsInPlainHeap = 1 << 1
 Heap signature was found. More...
 
static const TCount eCounterBitsPlaceMask
 Mask for 'in heap' state flags. More...
 
static const int eCounterStep = 1 << 2
 Skip over the "in heap" bits. More...
 
static const TCount eCounterValid = TCount(1) << (sizeof(TCount) * 8 - 2)
 Minimal value for valid objects (reference counter is zero) Must be a single bit value. More...
 
static const TCount eCounterStateMask
 Valid object, and object in heap. More...
 
- Protected Member Functions inherited from CObject
virtual void DeleteThis (void)
 Virtual method "deleting" this object. More...
 

Detailed Description

Single cluster.

Definition at line 74 of file clusterer.hpp.

Member Typedef Documentation

◆ const_iterator

Definition at line 77 of file clusterer.hpp.

◆ iterator

Definition at line 78 of file clusterer.hpp.

Constructor & Destructor Documentation

◆ CSingleCluster()

CClusterer::CSingleCluster::CSingleCluster ( void  )
inline

Create empty cluster.

Definition at line 83 of file clusterer.hpp.

Member Function Documentation

◆ AddElement()

void CClusterer::CSingleCluster::AddElement ( int  el)
inline

Add element to the cluster.

Parameters
elIndex of an element

Definition at line 88 of file clusterer.hpp.

Referenced by CClusterer::ComputeClusters(), CClusterer::x_CreateCluster(), CClusterer::x_JoinClusters(), and CClusterer::x_JoinElements().

◆ begin() [1/2]

iterator CClusterer::CSingleCluster::begin ( void  )
inline

Definition at line 142 of file clusterer.hpp.

◆ begin() [2/2]

const_iterator CClusterer::CSingleCluster::begin ( void  ) const
inline

Definition at line 140 of file clusterer.hpp.

◆ clear()

void CClusterer::CSingleCluster::clear ( void  )
inline

Removes all elements from the cluster.

Definition at line 92 of file clusterer.hpp.

Referenced by CClusterer::x_JoinClusters().

◆ end() [1/2]

iterator CClusterer::CSingleCluster::end ( void  )
inline

Definition at line 143 of file clusterer.hpp.

◆ end() [2/2]

const_iterator CClusterer::CSingleCluster::end ( void  ) const
inline

Definition at line 141 of file clusterer.hpp.

◆ FindCenterElement()

int CClusterer::CSingleCluster::FindCenterElement ( const TDistMatrix dmatrix) const

Find element that is closest to the center of the cluster.

Parameters
dmatrixFull distance matrix used to cluster data
Returns
Index of element that has smallest distance to all other elements

Definition at line 1184 of file clusterer.cpp.

References i, and NCBI_THROW.

Referenced by BOOST_AUTO_TEST_CASE().

◆ GetElements()

const vector<int>& CClusterer::CSingleCluster::GetElements ( void  ) const
inline

Get list of cluster elements.

Returns
Cluster elements

Definition at line 130 of file clusterer.hpp.

◆ GetMaxDistance()

double CClusterer::CSingleCluster::GetMaxDistance ( void  ) const
inline

Get maximum distance in cluster.

Returns
Maximum distance in cluster

Definition at line 113 of file clusterer.hpp.

◆ GetPrototype()

int CClusterer::CSingleCluster::GetPrototype ( void  ) const
inline

◆ operator[]()

int CClusterer::CSingleCluster::operator[] ( size_t  index) const

Get element.

Parameters
indexElement index
Returns
Element

Definition at line 1173 of file clusterer.cpp.

References m_Elements, and NCBI_THROW.

◆ SetMaxDistance()

void CClusterer::CSingleCluster::SetMaxDistance ( double  dist)
inline

Set maximum distance in cluster.

Parameters
distMaximum distance

Definition at line 108 of file clusterer.hpp.

Referenced by CClusterer::x_JoinElements().

◆ SetPrototype()

void CClusterer::CSingleCluster::SetPrototype ( int  el)
inline

Set cluster prototype.

Parameters
elIndex of element to be used as cluster prototype

Prototype does not have to belong to the cluster

Definition at line 98 of file clusterer.hpp.

◆ size()

size_t CClusterer::CSingleCluster::size ( void  ) const
inline

Member Data Documentation

◆ m_Diameter

double CClusterer::CSingleCluster::m_Diameter
protected

Max distance between elements.

Definition at line 147 of file clusterer.hpp.

◆ m_DistToRoot

vector<double> CClusterer::CSingleCluster::m_DistToRoot

Distances between cluster elements and tree root.

Definition at line 156 of file clusterer.hpp.

Referenced by CClusterer::x_JoinClusters().

◆ m_Elements

vector<int> CClusterer::CSingleCluster::m_Elements
protected

List of indeces of cluster elements.

Definition at line 148 of file clusterer.hpp.

Referenced by operator[]().

◆ m_Prototype

int CClusterer::CSingleCluster::m_Prototype
protected

Index of cluster representative element.

Definition at line 146 of file clusterer.hpp.

◆ m_Tree

TPhyTreeNode* CClusterer::CSingleCluster::m_Tree

Cluster tree root.

Definition at line 153 of file clusterer.hpp.

Referenced by CClusterer::ComputeClustersFromLinks(), and CClusterer::x_JoinClusters().


The documentation for this class was generated from the following files:
Modified on Fri Dec 01 04:46:39 2023 by modify_doxy.py rev. 669887