📄 neighbordb.cc
字号:
/* This software was developed at the National Institute of Standards and * Technology by employees of the Federal Government in the course of * their official duties. Pursuant to title 17 Section 105 of the United * States Code this software is not subject to copyright protection and * is in the public domain. * NIST assumes no responsibility whatsoever for its use by other parties, * and makes no guarantees, expressed or implied, about its quality, * reliability, or any other characteristic. * <BR> * We would appreciate acknowledgement if the software is used. * <BR> * NIST ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION AND * DISCLAIM ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING * FROM THE USE OF THIS SOFTWARE. * </PRE></P> * @author rouil */#include "neighbordb.h"/** * Constructor */NeighborDB::NeighborDB (){ nbentry_ = 0; nbs_ = (NeighborEntry **) malloc (DEFAULT_DB_SIZE*sizeof (NeighborEntry *));}/** * Destructor */NeighborDB::~NeighborDB (){ for (int i=0 ; i < nbentry_ ; i++) { delete (nbs_[i]); }}/** * Add an entry in the database * @param nb The neighbor to add */void NeighborDB::addNeighbor (NeighborEntry *nb){ if (nbentry_ == DEFAULT_DB_SIZE) { printf ("Default size for neighbor database is too small. Update DEFAULT_DB_SIZE attribute\n"); exit (0); } nbs_[nbentry_++] = nb;}/** * Remove the entry associated with the given node * @param nbid The neighbor id */void NeighborDB::removeNeighbor (int nbid){ assert (getNeighbor (nbid)==NULL); for (int i = 0 ; i < nbentry_ ; i++) { if (nbs_[i]->getID() == nbid) { delete (nbs_[i]); for (int j = i+1 ; j < nbentry_ ; j++, i++) nbs_[i]=nbs_[j]; nbentry_--; break; } }}/** * Return the number of neighbor in the list * @return the number of neighbor in the list */int NeighborDB::getNbNeighbor (){ return nbentry_;}/** * Return the entry associated with the given node * @param nbid The neighbor id * @return the entry for the given node or NULL */NeighborEntry * NeighborDB::getNeighbor (int nbid){ for (int i = 0 ; i < nbentry_ ; i++) { if (nbs_[i]->getID() == nbid) { return (nbs_[i]); } } return NULL;}/** * Return a pointer to the list of all neighbors * @return a pointer to the list of all neighbors */NeighborEntry ** NeighborDB::getNeighbors (){ return nbs_;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -