00001 /*************************************************************************** 00002 seqsimvec.h - description 00003 ------------------- 00004 begin : Mon Aug 9 2004 00005 copyright : (C) 2001 by Thies H. Jochimsen 00006 email : jochimse@cns.mpg.de 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 #ifndef SEQSIMVEC_H 00019 #define SEQSIMVEC_H 00020 00021 #include <odinseq/seqvec.h> 00022 00028 class SeqSimultanVector : public SeqVector, public virtual SeqClass, public List<SeqVector, const SeqVector*, const SeqVector&> { 00029 00030 public: 00031 00035 SeqSimultanVector(const STD_string& object_label="unnamedSeqSimultanVector") : SeqClass(), SeqVector(object_label) {set_label(object_label);} 00036 00040 SeqSimultanVector(const SeqSimultanVector& ssv); 00041 00045 SeqSimultanVector& operator = (const SeqSimultanVector& ssv); 00046 00050 SeqSimultanVector& operator += (const SeqVector& sv); 00051 00052 00056 SeqSimultanVector& clear() { List<SeqVector, const SeqVector*, const SeqVector&>::clear(); return *this;} 00057 00058 00059 // implemented virtual functions from SeqVector 00060 svector get_vector_commands(const STD_string& iterator) const; 00061 unsigned int get_vectorsize() const; 00062 unsigned int get_numof_iterations() const; 00063 STD_string get_loopcommand() const; 00064 nestingRelation get_nesting_relation() const; 00065 bool needs_unrolling_check() const; 00066 bool prep_iteration() const; 00067 // bool is_acq_vector() const; 00068 const SeqVector& set_vechandler(const SeqCounter* sc) const; 00069 bool is_qualvector() const; 00070 00071 00072 private: 00073 00074 // implemented virtual functions from SeqClass 00075 void clear_container(); 00076 00077 00078 }; 00079 00080 00081 00082 #endif
1.5.6