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

Rnaml.h

Go to the documentation of this file.
00001 //                              -*- Mode: C++ -*- 
00002 // Rnaml.h
00003 // Copyright © 2002-03 Laboratoire de Biologie Informatique et Théorique
00004 //                     Université de Montréal.
00005 // Author           : Mélissa Jourdain
00006 // Created On       : Mon Aug 26 15:43:45 2002
00007 // $Revision: 1.11 $
00008 // $Id: Rnaml.h,v 1.11 2003/10/18 00:24:56 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 #ifndef _rnaml_Rnaml_h_
00028 #define _rnaml_Rnaml_h_
00029 
00030 #include <vector>
00031 
00032 extern "C" {
00033 #include "object.h"
00034 #include "rnaml.h"
00035 #include "xmlcpg.h"
00036 }
00037 
00038 #include "Object.h"
00039 
00040 
00041 
00042 namespace rnaml
00043 {
00044   class Molecule;
00045   
00046   
00047   
00048   class Rnaml : public Object
00049   {
00053     std::vector< Object* > children;
00054     
00055   public:
00056     
00057     // LIFECYCLE ------------------------------------------------------------
00058     
00064     Rnaml (const char* v = 0);
00065     
00070     Rnaml (const Rnaml &right);
00071     
00076     Rnaml* clone () const { return new Rnaml (*this); }
00077     
00081     virtual ~Rnaml ();
00082     
00083     // OPERATORS ------------------------------------------------------------
00084     
00090     Rnaml& operator= (const Rnaml &right);
00091     
00092     // ACCESS ---------------------------------------------------------------
00093 
00098     const char* getVersion () const { return rnamlgetRnamlVersion ((const rnamlRnaml*) getCStructure ()); }
00099 
00104     void setVersion (const char *version) { rnamlsetRnamlVersion ((rnamlRnaml*) getCStructure (), version); }
00105 
00110     std::vector< Object* >& getChildren () { return children; }
00111     
00116     void addChild (Object *obj);
00117     
00122     virtual void setCStructure (rnamlObject *obj);
00123     
00124     // METHODS --------------------------------------------------------------
00125     
00130     xmlcpgDocument* toXMLDocument () const { return rnamltoXMLDocument ((const rnamlRnaml*) getCStructure ()); }
00131 
00132     // I/O  -----------------------------------------------------------------
00133     
00134   };
00135 }
00136 
00137 #endif

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