mirror of
				https://github.com/boostorg/utility.git
				synced 2025-10-31 08:21:45 +01:00 
			
		
		
		
	Compare commits
	
		
			4 Commits
		
	
	
		
			feature/fi
			...
			boost-1.30
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | df4b43a1bf | ||
|  | 985d2ff669 | ||
|  | dc294f7225 | ||
|  | 3dffb91af6 | 
| @@ -1,8 +1,8 @@ | ||||
| #ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED | ||||
| #define BOOST_CHECKED_DELETE_HPP_INCLUDED | ||||
|  | ||||
| #if _MSC_VER >= 1020 | ||||
| #pragma once | ||||
| #if defined(_MSC_VER) && (_MSC_VER >= 1020) | ||||
| # pragma once | ||||
| #endif | ||||
|  | ||||
| // | ||||
| @@ -10,6 +10,8 @@ | ||||
| // | ||||
| //  Copyright (c) 1999, 2000, 2001, 2002 boost.org | ||||
| //  Copyright (c) 2002, 2003 Peter Dimov | ||||
| //  Copyright (c) 2003 Daniel Frey | ||||
| //  Copyright (c) 2003 Howard Hinnant | ||||
| // | ||||
| //  Permission to copy, use, modify, sell and distribute this software | ||||
| //  is granted provided this copyright notice appears in all copies. | ||||
| @@ -26,13 +28,16 @@ namespace boost | ||||
|  | ||||
| template<class T> inline void checked_delete(T * x) | ||||
| { | ||||
|     typedef char type_must_be_complete[sizeof(T)]; | ||||
|     // intentionally complex - simplification causes regressions | ||||
|     typedef char type_must_be_complete[ sizeof(T)? 1: -1 ]; | ||||
|     (void) sizeof(type_must_be_complete); | ||||
|     delete x; | ||||
| } | ||||
|  | ||||
| template<class T> inline void checked_array_delete(T * x) | ||||
| { | ||||
|     typedef char type_must_be_complete[sizeof(T)]; | ||||
|     typedef char type_must_be_complete[ sizeof(T)? 1: -1 ]; | ||||
|     (void) sizeof(type_must_be_complete); | ||||
|     delete [] x; | ||||
| } | ||||
|  | ||||
| @@ -43,6 +48,7 @@ template<class T> struct checked_deleter | ||||
|  | ||||
|     void operator()(T * x) const | ||||
|     { | ||||
|         // boost:: disables ADL | ||||
|         boost::checked_delete(x); | ||||
|     } | ||||
| }; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user