$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: asutton_at_[hidden]
Date: 2007-07-24 20:32:09
Author: asutton
Date: 2007-07-24 20:32:09 EDT (Tue, 24 Jul 2007)
New Revision: 7527
URL: http://svn.boost.org/trac/boost/changeset/7527
Log:
Added a destructible concept
Added:
   sandbox/boost_docs/trunk/libs/standard/doc/concepts/utilities/destructible.qbk
Text files modified: 
   sandbox/boost_docs/trunk/libs/standard/doc/concepts/utilities/copy_constructible.qbk |     3 +++                                     
   sandbox/boost_docs/trunk/libs/standard/doc/concepts/utilities/utilities.qbk          |     1 +                                       
   sandbox/boost_docs/trunk/libs/standard/doc/std.qbk                                   |     1 +                                       
   3 files changed, 5 insertions(+), 0 deletions(-)
Modified: sandbox/boost_docs/trunk/libs/standard/doc/concepts/utilities/copy_constructible.qbk
==============================================================================
--- sandbox/boost_docs/trunk/libs/standard/doc/concepts/utilities/copy_constructible.qbk	(original)
+++ sandbox/boost_docs/trunk/libs/standard/doc/concepts/utilities/copy_constructible.qbk	2007-07-24 20:32:09 EDT (Tue, 24 Jul 2007)
@@ -12,6 +12,9 @@
 argument: a `const` reference to `T`. After construction, a constructed
 object is equivalent to the object passed as an argument.
 
+[heading Refinement of]
+[StdDestructible]
+
 [heading Notation]
 The following expressions are used within this document:
 [table
Added: sandbox/boost_docs/trunk/libs/standard/doc/concepts/utilities/destructible.qbk
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/libs/standard/doc/concepts/utilities/destructible.qbk	2007-07-24 20:32:09 EDT (Tue, 24 Jul 2007)
@@ -0,0 +1,44 @@
+[/
+ / Copyright (c) 2007 Andrew Sutton
+ /
+ / 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)
+ /]
+
+[section Copy Constructible]
+A type `T` is /destructible/ if it has a public destructor. The
+destructor can be either compiler-generated or user-defined.
+
+[heading Notation]
+The following expressions are used within this document:
+[table
+    [[Expression] [Description]]
+    [[T] [A [StdCopyConstructible] type.]]
+    [[t] [An object of type `T`.]]
+]
+
+[heading Requirements]
+[table
+    [[Name] [Expression] [Result Type] [Description]]
+    [
+        [Destructor]
+        [`t.~T()`]
+        []
+        [
+                *Semantics:* The destructor of `t` is called, destroying
+                the object.
+        ]
+    ]
+]
+
+[heading C++0x]
+The [StdDestructible] concept will be defined as:
+
+    // The Destructible concept requires a public desctructor,
+    // either compiler-generated or user-define.
+    auto concept Destructible<typename T>
+    {
+        T::~T();
+    };
+
+[endsect]
\ No newline at end of file
Modified: sandbox/boost_docs/trunk/libs/standard/doc/concepts/utilities/utilities.qbk
==============================================================================
--- sandbox/boost_docs/trunk/libs/standard/doc/concepts/utilities/utilities.qbk	(original)
+++ sandbox/boost_docs/trunk/libs/standard/doc/concepts/utilities/utilities.qbk	2007-07-24 20:32:09 EDT (Tue, 24 Jul 2007)
@@ -8,6 +8,7 @@
 Utility concepts include concepts that can be applied to almost
 any data type (both built-in and user-defined).
 
+[include destructible.qbk]
 [include default_constructible.qbk]
 [include copy_constructible.qbk]
 [include assignable.qbk]
Modified: sandbox/boost_docs/trunk/libs/standard/doc/std.qbk
==============================================================================
--- sandbox/boost_docs/trunk/libs/standard/doc/std.qbk	(original)
+++ sandbox/boost_docs/trunk/libs/standard/doc/std.qbk	2007-07-24 20:32:09 EDT (Tue, 24 Jul 2007)
@@ -20,6 +20,7 @@
 ]
 
 [/ Quick Reference Templates /]
+[template StdDestructible[] [link standards.concepts.utilities.destructible [^Destructible]]]
 [template StdDefaultConstructible[] [link standard.concepts.utilities.default_constructible [^DefaultConstructible]]]
 [template StdCopyConstructible[] [link standard.concepts.utilities.copy_constructible [^CopyConstructible]]]
 [template StdAssignable[] [link standard.concepts.utilities.assignable [^Assignable]]]