# FedRegion.hh

Go to the documentation of this file.

    00001 // ----------------------------------------------------------------------------
    00002 // CERTI - HLA RunTime Infrastructure
    00003 // Copyright (C) 2002-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: FedRegion.hh,v 3.4 2008/12/07 20:16:13 gotthardp Exp $
    00023 // ----------------------------------------------------------------------------
    00024
    00025 #ifndef CERTI_FED_REGION_HH
    00026 #define CERTI_FED_REGION_HH
    00027
    00028 #include "certi.hh"
    00029 #include "BaseRegion.hh"
    00030
    00031 namespace certi {
    00032
    00033 class RoutingSpace ;
    00034
    00035 class CERTI_EXPORT FedRegion : public BaseRegion
    00036 {
    00037 public:
    00038     FedRegion(RegionHandle, SpaceHandle, const std::vector<Extent> &);
    00039     virtual ~FedRegion();
    00040
    00041     virtual ULong getRangeLowerBound(ExtentIndex, DimensionHandle) const
    00042         throw (ArrayIndexOutOfBounds);
    00043
    00044     virtual ULong getRangeUpperBound(ExtentIndex, DimensionHandle) const
    00045         throw (ArrayIndexOutOfBounds);
    00046
    00047     virtual void setRangeLowerBound(ExtentIndex, DimensionHandle, ULong)
    00048         throw (ArrayIndexOutOfBounds);
    00049
    00050     virtual void setRangeUpperBound(ExtentIndex, DimensionHandle, ULong)
    00051         throw (ArrayIndexOutOfBounds);
    00052
    00053     virtual SpaceHandle getSpaceHandle() const
    00054         throw ();
    00055
    00056     virtual ULong getNumberOfExtents() const
    00057         throw ();
    00058
    00059     virtual ULong getRangeLowerBoundNotificationLimit(ExtentIndex,
    00060                                                       DimensionHandle) const
    00061         throw (ArrayIndexOutOfBounds);
    00062
    00063     virtual ULong getRangeUpperBoundNotificationLimit(ExtentIndex,
    00064                                                       DimensionHandle) const
    00065         throw (ArrayIndexOutOfBounds);
    00066
    00067     void commit();
    00068
    00069 private:
    00070     SpaceHandle space ;
    00071     std::vector<Extent> coExtents ;
    00072 };
    00073
    00074 }
    00075
    00076 #endif // CERTI_FED_REGION_HH
    00077
    00078 // $Id: FedRegion.hh,v 3.4 2008/12/07 20:16:13 gotthardp Exp $