mirror of
				https://github.com/boostorg/utility.git
				synced 2025-11-04 02:11:45 +01:00 
			
		
		
		
	- Include boost/utility/addressof.hpp boost/utility/addressof.hpp: - addressof() implementation libs/utility/utility.htm: - Document addressof libs/utility/addressof_test.cpp: - Test addressof() [SVN r13414]
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
//  boost utility.hpp header file  -------------------------------------------//
 | 
						|
 | 
						|
//  (C) Copyright boost.org 1999. 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.
 | 
						|
 | 
						|
//  See http://www.boost.org for most recent version including documentation.
 | 
						|
 | 
						|
//  Classes appear in alphabetical order
 | 
						|
 | 
						|
#ifndef BOOST_UTILITY_HPP
 | 
						|
#define BOOST_UTILITY_HPP
 | 
						|
 | 
						|
// certain headers are part of the <utility.hpp> interface
 | 
						|
 | 
						|
#include <boost/checked_delete.hpp>
 | 
						|
#include <boost/utility/base_from_member.hpp>  
 | 
						|
#include <boost/utility/addressof.hpp>
 | 
						|
 | 
						|
namespace boost
 | 
						|
{
 | 
						|
//  next() and prior() template functions  -----------------------------------//
 | 
						|
 | 
						|
    //  Helper functions for classes like bidirectional iterators not supporting
 | 
						|
    //  operator+ and operator-.
 | 
						|
    //
 | 
						|
    //  Usage:
 | 
						|
    //    const std::list<T>::iterator p = get_some_iterator();
 | 
						|
    //    const std::list<T>::iterator prev = boost::prior(p);
 | 
						|
 | 
						|
    //  Contributed by Dave Abrahams
 | 
						|
 | 
						|
    template <class T>
 | 
						|
    inline T next(T x) { return ++x; }
 | 
						|
 | 
						|
    template <class T>
 | 
						|
    inline T prior(T x) { return --x; }
 | 
						|
 | 
						|
 | 
						|
//  class noncopyable  -------------------------------------------------------//
 | 
						|
 | 
						|
    //  Private copy constructor and copy assignment ensure classes derived from
 | 
						|
    //  class noncopyable cannot be copied.
 | 
						|
 | 
						|
    //  Contributed by Dave Abrahams
 | 
						|
 | 
						|
    class noncopyable
 | 
						|
    {
 | 
						|
    protected:
 | 
						|
        noncopyable(){}
 | 
						|
        ~noncopyable(){}
 | 
						|
    private:  // emphasize the following members are private
 | 
						|
        noncopyable( const noncopyable& );
 | 
						|
        const noncopyable& operator=( const noncopyable& );
 | 
						|
    }; // noncopyable
 | 
						|
 | 
						|
 | 
						|
} // namespace boost
 | 
						|
 | 
						|
#endif  // BOOST_UTILITY_HPP
 | 
						|
 |