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

BasePair.h

Go to the documentation of this file.
00001 /*                               -*- Mode: C++ -*- 
00002  * BasePair.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.4 $
00008  * $Id: BasePair.h,v 1.4 2003/10/18 00:20:46 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_BasePair_h_
00029 #define _rnaml_BasePair_h_
00030 
00031 extern "C" {
00032 #include "basepair.h"
00033 #include "object.h"
00034 }
00035 
00036 #include "Object.h"
00037 
00038 
00039 
00040 namespace rnaml
00041 {
00042   class BaseId5p;
00043   class BaseId3p;
00044 
00045 
00046 
00047   class BasePair : public Object
00048   {
00049 
00050   public:
00051 
00052     // LIFECYCLE ------------------------------------------------------------
00053 
00057     BasePair () : Object ((rnamlObject*) rnamlnewBasePair ()) { }
00058 
00063     BasePair (const BasePair &right) : Object (right) { }
00064 
00069     BasePair* clone () const { return new BasePair (*this); }
00070 
00074     virtual ~BasePair () { }
00075 
00076     // OPERATORS ------------------------------------------------------------
00077 
00083     BasePair& operator= (const BasePair &right);
00084 
00085     // ACCESS ---------------------------------------------------------------
00086 
00091     BaseId5p* getBaseId5p () const;
00092 
00097     void setBaseId5p (BaseId5p *baseId5p);
00098 
00103     BaseId3p* getBaseId3p () const;
00104 
00109     void setBaseId3p (BaseId3p *baseId3p);
00110 
00115     const char* getEdge5p () const { return rnamlgetBasePairEdge5p ((const rnamlBasePair*) getCStructure ()); }
00116 
00121     void setEdge5p (const char *edge5p) { rnamlsetBasePairEdge5p ((rnamlBasePair*) getCStructure (), edge5p); }
00122 
00127     const char* getEdge3p () const { return rnamlgetBasePairEdge3p ((const rnamlBasePair*) getCStructure ()); }
00128 
00133     void setEdge3p (const char *edge3p) { rnamlsetBasePairEdge3p ((rnamlBasePair*) getCStructure (), edge3p); }
00134 
00139     const char* getBondOrientation () const { return rnamlgetBasePairBondOrientation ((const rnamlBasePair*) getCStructure ()); }
00140 
00145     void setBondOrientation (const char *bondOrientation) { rnamlsetBasePairBondOrientation ((rnamlBasePair*) getCStructure (), bondOrientation); }
00146 
00151     const char* getStrandOrientation () const { return rnamlgetBasePairStrandOrientation ((const rnamlBasePair*) getCStructure ()); }
00152 
00157     void setStrandOrientation (const char *strandOrientation) { rnamlsetBasePairStrandOrientation ((rnamlBasePair*) getCStructure (), strandOrientation); }
00158 
00159     // METHODS --------------------------------------------------------------
00160 
00161     // I/O  -----------------------------------------------------------------
00162 
00163   };
00164 }
00165 
00166 #endif

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