Whole document tree
    

Whole document tree

slice.h Source File
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

slice.h

Go to the documentation of this file.
00001 // The template and inlines for the -*- C++ -*- slice class.
00002 
00003 // Copyright (C) 1997-1999, 2001 Free Software Foundation, Inc.
00004 //
00005 // This file is part of the GNU ISO C++ Library.  This library is free
00006 // software; you can redistribute it and/or modify it under the
00007 // terms of the GNU General Public License as published by the
00008 // Free Software Foundation; either version 2, or (at your option)
00009 // any later version.
00010 
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 // GNU General Public License for more details.
00015 
00016 // You should have received a copy of the GNU General Public License along
00017 // with this library; see the file COPYING.  If not, write to the Free
00018 // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
00019 // USA.
00020 
00021 // As a special exception, you may use this file as part of a free software
00022 // library without restriction.  Specifically, if other files instantiate
00023 // templates or use macros or inline functions from this file, or you compile
00024 // this file and link it with other files to produce an executable, this
00025 // file does not by itself cause the resulting executable to be covered by
00026 // the GNU General Public License.  This exception does not however
00027 // invalidate any other reasons why the executable file might be covered by
00028 // the GNU General Public License.
00029 
00030 // Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
00031 
00032 #ifndef _CPP_BITS_SLICE_H
00033 #define _CPP_BITS_SLICE_H 1
00034 
00035 #pragma GCC system_header
00036 
00037 namespace std
00038 {
00039 
00040 class slice
00041 {
00042 public:
00043     slice ();
00044     slice (size_t, size_t, size_t);
00045 
00046     size_t start () const;
00047     size_t size () const;
00048     size_t stride () const;
00049 
00050 private:
00051     size_t _M_off;                      // offset
00052     size_t _M_sz;           // size
00053     size_t _M_st;           // stride unit
00054 };
00055 
00056 inline slice::slice () {}
00057 
00058 inline slice::slice (size_t __o, size_t __d, size_t __s)
00059         : _M_off (__o), _M_sz (__d), _M_st (__s) {}
00060 
00061 inline size_t
00062 slice::start () const
00063   { return _M_off; }
00064 
00065 inline size_t
00066 slice::size () const
00067   { return _M_sz; }
00068 
00069 inline size_t
00070 slice::stride () const
00071   { return _M_st; }
00072 
00073 } // std::
00074 
00075 
00076 #endif /* _CPP_BITS_SLICE_H */
00077 
00078 // Local Variables:
00079 // mode:c++
00080 // End:

Generated on Mon Apr 8 03:11:31 2002 for libstdc++-v3 Source by doxygen1.2.15