From 40ebdb9335a64895a0636c025d999ef70234d858 Mon Sep 17 00:00:00 2001 From: obrien Date: Wed, 27 Nov 2002 18:52:04 +0000 Subject: Remove files no longer part of the gcc_3_2_anoncvs_20021009 libstdc++. Approved by: re(jhb) --- contrib/libstdc++/std/gslice.h | 111 ----------------------------------------- 1 file changed, 111 deletions(-) delete mode 100644 contrib/libstdc++/std/gslice.h (limited to 'contrib/libstdc++/std/gslice.h') diff --git a/contrib/libstdc++/std/gslice.h b/contrib/libstdc++/std/gslice.h deleted file mode 100644 index 4f6e854..0000000 --- a/contrib/libstdc++/std/gslice.h +++ /dev/null @@ -1,111 +0,0 @@ -// The template and inlines for the -*- C++ -*- gslice class. - -// Copyright (C) 1997-1999 Cygnus Solutions -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 2, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License along -// with this library; see the file COPYING. If not, write to the Free -// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, -// USA. - -// As a special exception, you may use this file as part of a free software -// library without restriction. Specifically, if other files instantiate -// templates or use macros or inline functions from this file, or you compile -// this file and link it with other files to produce an executable, this -// file does not by itself cause the resulting executable to be covered by -// the GNU General Public License. This exception does not however -// invalidate any other reasons why the executable file might be covered by -// the GNU General Public License. - -// Written by Gabriel Dos Reis - -#ifndef __GSLICE__ -#define __GSLICE__ - -extern "C++" { - -struct _Indexer { - size_t _M_count; - size_t _M_start; - valarray _M_size; - valarray _M_stride; - valarray _M_index; - _Indexer(size_t, const valarray&, const valarray&); - void _M_increment_use() { ++_M_count; } - size_t _M_decrement_use() { return --_M_count; } -}; - - -class gslice -{ -public: - gslice (); - gslice (size_t, const valarray&, const valarray&); - gslice(const gslice&); - ~gslice(); - - gslice& operator= (const gslice&); - size_t start () const; - valarray size () const; - valarray stride () const; - -private: - _Indexer* _M_index; - - template friend class valarray; -}; - -inline size_t -gslice::start () const -{ return _M_index ? _M_index->_M_start : 0; } - -inline valarray -gslice::size () const -{ return _M_index ? _M_index->_M_size : valarray(); } - -inline valarray -gslice::stride () const -{ return _M_index ? _M_index->_M_stride : valarray(); } - -inline gslice::gslice () : _M_index(0) {} - -inline -gslice::gslice(size_t __o, const valarray& __l, - const valarray& __s) - : _M_index(new _Indexer(__o, __l, __s)) {} - -inline -gslice::gslice(const gslice& __g) : _M_index(__g._M_index) -{ if (_M_index) _M_index->_M_increment_use(); } - -inline -gslice::~gslice() -{ if (_M_index && _M_index->_M_decrement_use() == 0) delete _M_index; } - -inline gslice& -gslice::operator= (const gslice& __g) -{ - if (__g._M_index) __g._M_index->_M_increment_use(); - if (_M_index && _M_index->_M_decrement_use() == 0) delete _M_index; - _M_index = __g._M_index; - return *this; -} - - -} // extern "C++" - -#endif // __GSLICE__ - -// Local Variables: -// mode:c++ -// End: -- cgit v1.1