Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

vectorize.h

Go to the documentation of this file.
00001 /*-*-c++-*-*****************************************************************
00002  ** 
00003                              -------------------
00004     begin                : 
00005     copyright            : (C) 2004 by Christian Stimming
00006     email                : stimming@tuhh.de
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This library is free software; you can redistribute it and/or         *
00012  *   modify it under the terms of the GNU Lesser General Public            *
00013  *   License as published by the Free Software Foundation; either          *
00014  *   version 2.1 of the License, or (at your option) any later version.    *
00015  *                                                                         *
00016  *   This library is distributed in the hope that it will be useful,       *
00017  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00018  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00019  *   Lesser General Public License for more details.                       *
00020  *                                                                         *
00021  *   You should have received a copy of the GNU Lesser General Public      *
00022  *   License along with this library; if not, write to the Free Software   *
00023  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
00024  *   MA  02111-1307  USA                                                   *
00025  *                                                                         *
00026  ***************************************************************************/
00027 
00031 #ifndef _MIMOLIB_MULTIPLEXER_H
00032 #define _MIMOLIB_MULTIPLEXER_H
00033 
00034 #include <vector>
00035 #include <simthetic/basicdevice.h>
00036 
00037 namespace mimo {
00038 
00039 template<class devT, 
00040      class seqT_in, class seqT_in_internal, 
00041      class seqT_out_internal, class seqT_out>
00042 class Vectorize : public simth::Device
00043 {
00044       typedef std::vector<devT*> devlist_t;
00045 
00046       // The number of blocks
00047       unsigned nr_blocks;
00048 
00049       // The list of devices owned by this block.
00050       devlist_t devlist;
00051 
00052       // The deviceID for devlist[0] and consecutive ones.
00053       unsigned startDevId;
00054 
00055    public:
00056       Vectorize(int deviceID, simth::DeviceSystemIntf* system, 
00057         const simth::PropertyList& pl);
00058       virtual void updateInputLengths();
00059       virtual void updateOutputLengths();
00060       virtual void acceptNewData(int interfaceID);
00061       virtual void process();
00062       virtual void startOfSimulation();
00063 };
00064 
00065 } // namespace
00066 
00067 #endif // _MIMOLIB_MULTIPLEXER_H

Generated on Tue Aug 9 14:43:10 2005 for mimolib by  doxygen 1.4.1