Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

BaseId.h

Go to the documentation of this file.
00001 /*                               -*- Mode: C++ -*- 
00002  * BaseId.h
00003  * Copyright © 2002-03 Laboratoire de Biologie Informatique et Théorique
00004  *                     Université de Montréal.
00005  * Author           : Patrick Charbonneau
00006  * Created On       : Wed Sep 12 16:48:15 2003
00007  * $Revision: 1.3 $
00008  * $Id: BaseId.h,v 1.3 2003/10/18 00:20:42 larosem Exp $
00009  *
00010  * This file is part of xmlcpg.
00011  *
00012  * xmlcpg is free software; you can redistribute it and/or modify it under
00013  * the terms of the GNU Lesser General Public License as published by the Free
00014  * Software Foundation; either version 2 of the License, or (at your option)
00015  * any later version.
00016  *
00017  * xmlcpg is distributed in the hope that it will be useful, but WITHOUT ANY
00018  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00019  * FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for
00020  * more details.
00021  *
00022  * You should have received a copy of the GNU Lesser General Public License
00023  * along with xmlcpg; if not, write to the Free Software Foundation, Inc.,
00024  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
00025  */
00026 
00027 
00028 #ifndef _rnaml_BaseId_h_
00029 #define _rnaml_BaseId_h_
00030 
00031 extern "C" {
00032 #include "baseid.h"
00033 #include "object.h"
00034 }
00035 
00036 #include "Object.h"
00037 
00038 
00039 
00040 namespace rnaml
00041 {
00042   class MoleculeId;
00043   class ModelId;
00044 
00045 
00046 
00047   class BaseId : public Object
00048   {
00049     
00050   public:
00051 
00052     // LIFECYCLE ------------------------------------------------------------
00053 
00057     BaseId () : Object ((rnamlObject*) rnamlnewBaseId ()) { }
00058 
00063     BaseId (const BaseId &right) : Object (right) { }
00064 
00069     BaseId* clone () const { return new BaseId (*this); }
00070 
00074     virtual ~BaseId () { }
00075 
00076     // OPERATORS ------------------------------------------------------------
00077 
00083     BaseId& operator= (const BaseId &right);
00084 
00085     // ACCESS ---------------------------------------------------------------
00086 
00091     MoleculeId* getMoleculeId () const;
00092 
00097     void setMoleculeId (MoleculeId *moleculeId);
00098 
00103     ModelId* getModelId () const;
00104 
00109     void setModelId (ModelId *modelId);
00110 
00115     const char* getStrand () const { return rnamlgetBaseIdStrand ((const rnamlBaseId*) getCStructure ()); }
00116 
00121     void setStrand (const char *strand) { rnamlsetBaseIdStrand ((rnamlBaseId*) getCStructure (), strand); }
00122 
00127     int getPosition () const { return rnamlgetBaseIdPosition ((const rnamlBaseId*) getCStructure ()); }
00128 
00133     void setPosition (int position) { rnamlsetBaseIdPosition ((rnamlBaseId*) getCStructure (), position); }
00134 
00135     // METHODS --------------------------------------------------------------
00136 
00137     // I/O  -----------------------------------------------------------------
00138 
00139   };
00140 }
00141 
00142 #endif

Generated on Tue Nov 11 14:59:38 2003 for xmlcpg by doxygen1.2.18