X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=boost%2Fboost%2Fscoped_array.hpp;h=c02fa316bcda85787356f7ac3439fdc3bb288715;hb=c48091f33a773732fa6c789927e5833e44108d9d;hp=070925ce7a745c45afaa11ac5892b1a54afbb21d;hpb=59b6a4701a8d2b5155af08cf758b4ca120201282;p=lyx.git diff --git a/boost/boost/scoped_array.hpp b/boost/boost/scoped_array.hpp index 070925ce7a..c02fa316bc 100644 --- a/boost/boost/scoped_array.hpp +++ b/boost/boost/scoped_array.hpp @@ -4,83 +4,13 @@ // (C) Copyright Greg Colvin and Beman Dawes 1998, 1999. // Copyright (c) 2001, 2002 Peter Dimov // -// Permission to copy, use, modify, sell and distribute this software -// is granted provided this copyright notice appears in all copies. -// This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) // -// See http://www.boost.org/libs/smart_ptr/scoped_array.htm for documentation. +// http://www.boost.org/libs/smart_ptr/scoped_array.htm // -#include -#include -#include // in case ptrdiff_t not in std -#include // for std::ptrdiff_t - -namespace boost -{ - -// scoped_array extends scoped_ptr to arrays. Deletion of the array pointed to -// is guaranteed, either on destruction of the scoped_array or via an explicit -// reset(). Use shared_array or std::vector if your needs are more complex. - -template class scoped_array // noncopyable -{ -private: - - T * ptr; - - scoped_array(scoped_array const &); - scoped_array & operator=(scoped_array const &); - -public: - - typedef T element_type; - - explicit scoped_array(T * p = 0) : ptr(p) // never throws - { - } - - ~scoped_array() // never throws - { - checked_array_delete(ptr); - } - - void reset(T * p = 0) // never throws - { - if (ptr != p) - { - checked_array_delete(ptr); - ptr = p; - } - } - - T & operator[](std::ptrdiff_t i) const // never throws - { - BOOST_ASSERT(ptr != 0); - BOOST_ASSERT(i >= 0); - return ptr[i]; - } - - T * get() const // never throws - { - return ptr; - } - - void swap(scoped_array & b) // never throws - { - T * tmp = b.ptr; - b.ptr = ptr; - ptr = tmp; - } - -}; - -template inline void swap(scoped_array & a, scoped_array & b) // never throws -{ - a.swap(b); -} - -} // namespace boost +#include #endif // #ifndef BOOST_SCOPED_ARRAY_HPP_INCLUDED