Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

Interval.H

Go to the documentation of this file.
00001 /* _______              __
00002   / ___/ /  ___  __ _  / /  ___
00003  / /__/ _ \/ _ \/  ' \/ _ \/ _ \
00004  \___/_//_/\___/_/_/_/_.__/\___/ 
00005 */
00006 //
00007 // This software is copyright (C) by the Lawrence Berkeley
00008 // National Laboratory.  Permission is granted to reproduce
00009 // this software for non-commercial purposes provided that
00010 // this notice is left intact.
00011 // 
00012 // It is acknowledged that the U.S. Government has rights to
00013 // this software under Contract DE-AC03-765F00098 between
00014 // the U.S.  Department of Energy and the University of
00015 // California.
00016 //
00017 // This software is provided as a professional and academic
00018 // contribution for joint exchange. Thus it is experimental,
00019 // is provided ``as is'', with no warranties of any kind
00020 // whatsoever, no support, no promise of updates, or printed
00021 // documentation. By using this software, you acknowledge
00022 // that the Lawrence Berkeley National Laboratory and
00023 // Regents of the University of California shall have no
00024 // liability with respect to the infringement of other
00025 // copyrights by any part of this software.
00026 //
00027 
00028 // Interval.H
00029 // ============
00030 
00031 //
00032 // Little struct for passing component ranges in code.
00033 //
00034 // 
00035 
00036 #ifndef INTERVAL_H
00037 #define INTERVAL_H
00038 
00040 
00043 struct Interval
00044 {
00045   Interval():
00046         m_begin(0), m_end(-1) {}
00048 
00051   Interval(int a_firstComp, int a_lastComp):
00052     m_begin(a_firstComp), m_end(a_lastComp){}
00053   void define(int a_firstComp, int a_lastComp)
00054   {m_begin= a_firstComp; m_end=a_lastComp;}
00055 
00057 
00060   int begin() const;
00061 
00063 
00066   int end() const;
00067 
00069 
00072   int size() const {return m_end-m_begin+1;}
00073 
00075   bool contains(int a_val) const
00076   {
00077         return a_val>=m_begin && a_val <= m_end;
00078   }
00079 
00080 private:
00081   int m_begin, m_end;
00082 
00083 };
00084 
00085 #ifndef WRAPPER
00086 inline int Interval::begin() const {return m_begin;}
00087 inline int Interval::end()   const {return m_end;}
00088 #endif
00089 
00090 #endif // INTERVAL_H

Generated on Wed Jun 2 13:53:33 2004 for Chombo&INSwithParticles by doxygen 1.3.2