BaseRegion.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-libRTI
00006 //
00007 // CERTI-libRTI 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-libRTI 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: BaseRegion.hh,v 3.2 2007/06/22 08:51:36 erk Exp $
00023 // ----------------------------------------------------------------------------
00024 
00025 #ifndef CERTI_BASE_REGION_HH
00026 #define CERTI_BASE_REGION_HH
00027 
00028 #include "Extent.hh"
00029 #include "Handled.hh"
00030 
00031 #include <vector>
00032 
00033 namespace certi {
00034 
00035 typedef Handle RegionHandle ;
00036 
00037 class CERTI_EXPORT BaseRegion : public Handled<RegionHandle>
00038 {
00039 public:
00040     BaseRegion(RegionHandle);
00041     virtual ~BaseRegion();
00042 
00043     virtual ULong getRangeLowerBound(ExtentIndex, DimensionHandle) const
00044         throw (ArrayIndexOutOfBounds);
00045 
00046     virtual ULong getRangeUpperBound(ExtentIndex, DimensionHandle) const
00047         throw (ArrayIndexOutOfBounds);
00048 
00049     virtual void setRangeLowerBound(ExtentIndex, DimensionHandle, ULong)
00050         throw (ArrayIndexOutOfBounds);
00051 
00052     virtual void setRangeUpperBound(ExtentIndex, DimensionHandle, ULong)
00053         throw (ArrayIndexOutOfBounds);
00054 
00055     virtual ULong getNumberOfExtents() const
00056         throw ();
00057 
00058     virtual SpaceHandle getSpaceHandle() const
00059         throw () = 0 ;
00060 
00061     const std::vector<Extent> &getExtents() const ;
00062     void replaceExtents(const std::vector<Extent> &) throw (InvalidExtents);
00063     bool overlaps(const BaseRegion &region) const ;
00064 
00065 protected:
00066     void setExtents(const std::vector<Extent> &);
00067 
00068     std::vector<Extent> extents ;
00069 };
00070 
00071 } // namespace certi
00072 
00073 #endif // CERTI_BASE_REGION_HH

Generated on Thu Apr 30 15:53:48 2009 for CERTIDeveloperDocumentation by doxygen 1.5.5