# RoutingSpace.hh

Go to the documentation of this file.

    00001 // ----------------------------------------------------------------------------
    00002 // CERTI - HLA RunTime Infrastructure
    00003 // Copyright (C) 2003-2005  ONERA
    00004 //
    00005 // This file is part of CERTI-libCERTI
    00006 //
    00007 // CERTI-libCERTI is free software ; you can redistribute it and/or
    00008 // modify it under the terms of the GNU Lesser General Public License
    00009 // as published by the Free Software Foundation ; either version 2 of
    00010 // the License, or (at your option) any later version.
    00011 //
    00012 // CERTI-libCERTI is distributed in the hope that it will be useful, but
    00013 // WITHOUT ANY WARRANTY ; without even the implied warranty of
    00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    00015 // Lesser General Public License for more details.
    00016 //
    00017 // You should have received a copy of the GNU Lesser General Public
    00018 // License along with this program ; if not, write to the Free Software
    00019 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
    00020 // USA
    00021 //
    00022 // $Id: RoutingSpace.hh,v 3.10 2007/10/31 10:30:22 erk Exp $
    00023 // ----------------------------------------------------------------------------
    00024
    00025 #ifndef _CERTI_ROUTING_SPACE
    00026 #define _CERTI_ROUTING_SPACE
    00027
    00028
    00029 // CERTI headers
    00030 #include "Dimension.hh"
    00031 #include "Handled.hh"
    00032 #include "Extent.hh"
    00033 #include "Named.hh"
    00034
    00035 // Standard headers
    00036 #include <vector>
    00037 #include <string>
    00038
    00039 namespace certi {
    00040
    00041 class CERTI_EXPORT RoutingSpace : public Handled<SpaceHandle>, public Named
    00042 {
    00043 public:
    00047     RoutingSpace();
    00048
    00052     ~RoutingSpace();
    00053
    00059     DimensionHandle getDimensionHandle(std::string dimension_name) const throw (NameNotFound);
    00060
    00066     std::string getDimensionName(DimensionHandle dimension_handle) const
    00067     throw (DimensionNotDefined);
    00068
    00073     size_t size() const ;
    00074
    00078     void display() const ;
    00079
    00085     void addDimension(const Dimension &d);
    00086
    00087     Extent createExtent() const ;
    00088
    00089 private:
    00090     std::vector<Dimension> dimensions ;
    00091 };
    00092
    00093 } // namespace certi
    00094
    00095 #endif // _CERTI_ROUTING_SPACE
    00096
    00097 // $Id: RoutingSpace.hh,v 3.10 2007/10/31 10:30:22 erk Exp $
    00098