NSNode.cc
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:2k
源码类别:

通讯编程

开发平台:

Visual C++

  1. /*
  2.  * Copyright (c) 2007 Regents of the SIGNET lab, University of Padova.
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms, with or without
  6.  * modification, are permitted provided that the following conditions
  7.  * are met:
  8.  * 1. Redistributions of source code must retain the above copyright
  9.  *    notice, this list of conditions and the following disclaimer.
  10.  * 2. Redistributions in binary form must reproduce the above copyright
  11.  *    notice, this list of conditions and the following disclaimer in the
  12.  *    documentation and/or other materials provided with the distribution.
  13.  * 3. Neither the name of the University of Padova (SIGNET lab) nor the 
  14.  *    names of its contributors may be used to endorse or promote products 
  15.  *    derived from this software without specific prior written permission.
  16.  *
  17.  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
  18.  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 
  19.  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
  20.  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
  21.  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
  22.  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
  23.  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
  24.  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
  25.  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
  26.  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
  27.  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  28.  */
  29. // CLASS NSNode
  30. // Realizza la struttura base per una lista a collegamento doppio
  31. // Contiene i riferimenti al nodo precedente , al nodo successivo
  32. // al contenitore di appartenenza e all-elemento di informazione
  33. // ospitato
  34. // implementa CPosition
  35. #include "NSNode.h"
  36. //Struttura dati
  37. //Costruttore
  38. NSNode::NSNode (NSNode* newPrev,NSNode* newNext,Object* el) : CPosition(){
  39. prev=newPrev;
  40. next=newNext;
  41. elem=el;
  42. }
  43.  NSNode::NSNode () :CPosition() {
  44. }
  45.  NSNode::~NSNode ()  {
  46. delete elem;
  47. }
  48. //Metodi d'interfaccia
  49. Object* NSNode::element(){
  50. return elem;
  51. }
  52. //Metodi di lettura
  53. NSNode*  NSNode::getNext(){
  54. return next;
  55. }
  56. NSNode*  NSNode::getPrev(){
  57. return prev;
  58. }
  59. //Metodi scrittori
  60. void NSNode::setNext(NSNode* newnext){
  61. next=newnext;
  62. }
  63. void NSNode::setPrev(NSNode* newprev){
  64. prev=newprev;
  65. }
  66. void NSNode::setElement(Object* newElem){
  67. elem=newElem;
  68. }