Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r60505 - in branches/release: . boost boost/algorithm/string boost/archive boost/bimap boost/config boost/detail boost/filesystem boost/functional/hash boost/fusion boost/graph boost/integer boost/interprocess boost/intrusive boost/iostreams boost/math boost/numeric/ublas boost/program_options boost/property_tree boost/proto boost/proto/detail boost/proto/transform boost/python boost/regex boost/signals boost/signals2 boost/spirit boost/spirit/home boost/spirit/home/karma boost/spirit/home/support boost/statechart boost/system boost/thread boost/tr1 boost/type_traits boost/unordered boost/utility boost/uuid boost/variant boost/wave doc libs libs/array/doc libs/bimap libs/config libs/filesystem libs/functional/hash libs/fusion libs/graph_parallel libs/integer libs/interprocess libs/intrusive libs/iostreams libs/math libs/mpl/doc/refmanual libs/mpl/doc/src/refmanual libs/numeric/ublas libs/numeric/ublas/doc libs/program_options libs/property_tree libs/proto/doc libs/proto/doc/reference libs/proto/doc/reference/concepts libs/python libs/regex libs/regex/doc libs/signals libs/signals2 libs/spirit libs/spirit/classic/example libs/spirit/doc libs/spirit/example libs/spirit/phoenix libs/spirit/test libs/spirit/test/qi libs/statechart libs/static_assert libs/system libs/thread libs/thread/doc libs/timer libs/tr1 libs/type_traits libs/unordered libs/utility libs/uuid libs/wave more people status tools tools/bcp tools/boostbook tools/build/v2 tools/inspect tools/quickbook tools/regression tools/release tools/wave wiki
From: eric_at_[hidden]
Date: 2010-03-12 00:51:48


Author: eric_niebler
Date: 2010-03-12 00:51:46 EST (Fri, 12 Mar 2010)
New Revision: 60505
URL: http://svn.boost.org/trac/boost/changeset/60505

Log:
Merged revisions 60403,60452-60453 via svnmerge from
https://svn.boost.org/svn/boost/trunk

........
  r60403 | eric_niebler | 2010-03-10 13:03:20 +1100 (Wed, 10 Mar 2010) | 1 line
  
  do not use deprecated config macros, thx to daniel james
........
  r60452 | eric_niebler | 2010-03-11 12:07:19 +1100 (Thu, 11 Mar 2010) | 1 line
  
  adding concepts for Expr and Domain
........
  r60453 | eric_niebler | 2010-03-11 12:08:47 +1100 (Thu, 11 Mar 2010) | 1 line
  
  oops, fix properties
........

Added:
   branches/release/libs/proto/doc/reference/concepts/Domain.xml (contents, props changed)
      - copied, changed from r60453, /trunk/libs/proto/doc/reference/concepts/Domain.xml
   branches/release/libs/proto/doc/reference/concepts/Expr.xml (contents, props changed)
      - copied, changed from r60453, /trunk/libs/proto/doc/reference/concepts/Expr.xml
Properties modified:
   branches/release/ (props changed)
   branches/release/CMakeLists.txt (props changed)
   branches/release/INSTALL (props changed)
   branches/release/Jamroot (props changed)
   branches/release/LICENSE_1_0.txt (props changed)
   branches/release/boost/ (props changed)
   branches/release/boost-build.jam (props changed)
   branches/release/boost.css (props changed)
   branches/release/boost.png (props changed)
   branches/release/boost/algorithm/string/ (props changed)
   branches/release/boost/archive/ (props changed)
   branches/release/boost/array.hpp (props changed)
   branches/release/boost/bimap/ (props changed)
   branches/release/boost/config/ (props changed)
   branches/release/boost/detail/ (props changed)
   branches/release/boost/filesystem/ (props changed)
   branches/release/boost/functional/hash/ (props changed)
   branches/release/boost/fusion/ (props changed)
   branches/release/boost/graph/ (props changed)
   branches/release/boost/integer/ (props changed)
   branches/release/boost/interprocess/ (props changed)
   branches/release/boost/intrusive/ (props changed)
   branches/release/boost/iostreams/ (props changed)
   branches/release/boost/math/ (props changed)
   branches/release/boost/numeric/ublas/ (props changed)
   branches/release/boost/program_options/ (props changed)
   branches/release/boost/property_tree/ (props changed)
   branches/release/boost/python/ (props changed)
   branches/release/boost/regex/ (props changed)
   branches/release/boost/signals/ (props changed)
   branches/release/boost/signals2/ (props changed)
   branches/release/boost/spirit/ (props changed)
   branches/release/boost/spirit/home/ (props changed)
   branches/release/boost/spirit/home/karma/ (props changed)
   branches/release/boost/spirit/home/support/attributes.hpp (props changed)
   branches/release/boost/statechart/ (props changed)
   branches/release/boost/system/ (props changed)
   branches/release/boost/thread/ (props changed)
   branches/release/boost/thread.hpp (props changed)
   branches/release/boost/tr1/ (props changed)
   branches/release/boost/type_traits/ (props changed)
   branches/release/boost/unordered/ (props changed)
   branches/release/boost/utility/ (props changed)
   branches/release/boost/utility/value_init.hpp (props changed)
   branches/release/boost/uuid/ (props changed)
   branches/release/boost/variant/ (props changed)
   branches/release/boost/version.hpp (props changed)
   branches/release/boost/wave/ (props changed)
   branches/release/bootstrap.bat (props changed)
   branches/release/bootstrap.sh (props changed)
   branches/release/doc/ (props changed)
   branches/release/index.htm (props changed)
   branches/release/index.html (props changed)
   branches/release/libs/ (props changed)
   branches/release/libs/array/doc/array.xml (props changed)
   branches/release/libs/bimap/ (props changed)
   branches/release/libs/config/ (props changed)
   branches/release/libs/filesystem/ (props changed)
   branches/release/libs/functional/hash/ (props changed)
   branches/release/libs/fusion/ (props changed)
   branches/release/libs/graph_parallel/ (props changed)
   branches/release/libs/integer/ (props changed)
   branches/release/libs/interprocess/ (props changed)
   branches/release/libs/intrusive/ (props changed)
   branches/release/libs/iostreams/ (props changed)
   branches/release/libs/libraries.htm (props changed)
   branches/release/libs/maintainers.txt (props changed)
   branches/release/libs/math/ (props changed)
   branches/release/libs/mpl/doc/refmanual/broken-compiler-workarounds.html (props changed)
   branches/release/libs/mpl/doc/refmanual/categorized-index-concepts.html (props changed)
   branches/release/libs/mpl/doc/refmanual/cfg-no-preprocessed-headers.html (props changed)
   branches/release/libs/mpl/doc/refmanual/composition-and-argument-binding.html (props changed)
   branches/release/libs/mpl/doc/refmanual/data-types-concepts.html (props changed)
   branches/release/libs/mpl/doc/refmanual/data-types-miscellaneous.html (props changed)
   branches/release/libs/mpl/doc/refmanual/extensible-associative-sequence.html (props changed)
   branches/release/libs/mpl/doc/refmanual/inserter-class.html (props changed)
   branches/release/libs/mpl/doc/refmanual/tag-dispatched-metafunction.html (props changed)
   branches/release/libs/mpl/doc/refmanual/trivial-metafunctions-summary.html (props changed)
   branches/release/libs/mpl/doc/src/refmanual/Iterators-Iterator.rst (props changed)
   branches/release/libs/numeric/ublas/ (props changed)
   branches/release/libs/numeric/ublas/doc/ (props changed)
   branches/release/libs/program_options/ (props changed)
   branches/release/libs/property_tree/ (props changed)
   branches/release/libs/python/ (props changed)
   branches/release/libs/regex/ (props changed)
   branches/release/libs/regex/doc/ (props changed)
   branches/release/libs/signals/ (props changed)
   branches/release/libs/signals2/ (props changed)
   branches/release/libs/spirit/ (props changed)
   branches/release/libs/spirit/classic/example/ (props changed)
   branches/release/libs/spirit/doc/ (props changed)
   branches/release/libs/spirit/example/ (props changed)
   branches/release/libs/spirit/phoenix/ (props changed)
   branches/release/libs/spirit/test/ (props changed)
   branches/release/libs/spirit/test/qi/optional.cpp (props changed)
   branches/release/libs/statechart/ (props changed)
   branches/release/libs/static_assert/ (props changed)
   branches/release/libs/system/ (props changed)
   branches/release/libs/thread/ (props changed)
   branches/release/libs/thread/doc/ (props changed)
   branches/release/libs/timer/ (props changed)
   branches/release/libs/tr1/ (props changed)
   branches/release/libs/type_traits/ (props changed)
   branches/release/libs/unordered/ (props changed)
   branches/release/libs/utility/ (props changed)
   branches/release/libs/utility/swap.html (props changed)
   branches/release/libs/utility/value_init.htm (props changed)
   branches/release/libs/utility/value_init_test.cpp (props changed)
   branches/release/libs/uuid/ (props changed)
   branches/release/libs/wave/ (props changed)
   branches/release/more/ (props changed)
   branches/release/people/ (props changed)
   branches/release/rst.css (props changed)
   branches/release/status/ (props changed)
   branches/release/status/Jamfile.v2 (props changed)
   branches/release/tools/ (props changed)
   branches/release/tools/bcp/ (props changed)
   branches/release/tools/boostbook/ (props changed)
   branches/release/tools/build/v2/ (props changed)
   branches/release/tools/inspect/ (props changed)
   branches/release/tools/quickbook/ (props changed)
   branches/release/tools/regression/ (props changed)
   branches/release/tools/release/ (props changed)
   branches/release/tools/wave/ (props changed)
   branches/release/wiki/ (props changed)
Text files modified:
   branches/release/boost/proto/detail/decltype.hpp | 2
   branches/release/boost/proto/domain.hpp | 1
   branches/release/boost/proto/extends.hpp | 6
   branches/release/boost/proto/generate.hpp | 2
   branches/release/boost/proto/matches.hpp | 4
   branches/release/boost/proto/traits.hpp | 4
   branches/release/boost/proto/transform/arg.hpp | 10
   branches/release/boost/proto/transform/pass_through.hpp | 2
   branches/release/libs/proto/doc/acknowledgements.qbk | 3
   branches/release/libs/proto/doc/reference.xml | 5
   branches/release/libs/proto/doc/reference/concepts/Domain.xml | 210 ++++++++++++++--------------
   branches/release/libs/proto/doc/reference/concepts/Expr.xml | 282 ++++++++++++++++++++--------------------
   branches/release/libs/proto/doc/reference/domain.xml | 3
   13 files changed, 271 insertions(+), 263 deletions(-)

Modified: branches/release/boost/proto/detail/decltype.hpp
==============================================================================
--- branches/release/boost/proto/detail/decltype.hpp (original)
+++ branches/release/boost/proto/detail/decltype.hpp 2010-03-12 00:51:46 EST (Fri, 12 Mar 2010)
@@ -35,7 +35,7 @@
 #include <boost/utility/enable_if.hpp>
 #include <boost/proto/repeat.hpp>
 
-#ifdef BOOST_HAS_DECLTYPE
+#ifndef BOOST_NO_DECLTYPE
 # define BOOST_PROTO_DECLTYPE_(EXPR, TYPE) typedef decltype(EXPR) TYPE;
 #else
 # define BOOST_PROTO_DECLTYPE_NESTED_TYPEDEF_TPL_(NESTED, EXPR) \

Modified: branches/release/boost/proto/domain.hpp
==============================================================================
--- branches/release/boost/proto/domain.hpp (original)
+++ branches/release/boost/proto/domain.hpp 2010-03-12 00:51:46 EST (Fri, 12 Mar 2010)
@@ -80,6 +80,7 @@
         struct domain
           : Generator
         {
+ typedef Generator proto_generator;
             typedef Grammar proto_grammar;
 
             /// INTERNAL ONLY

Modified: branches/release/boost/proto/extends.hpp
==============================================================================
--- branches/release/boost/proto/extends.hpp (original)
+++ branches/release/boost/proto/extends.hpp 2010-03-12 00:51:46 EST (Fri, 12 Mar 2010)
@@ -357,7 +357,7 @@
         }; \
         /**/
 
- #ifdef BOOST_HAS_VARIADIC_TMPL
+ #ifndef BOOST_NO_VARIADIC_TEMPLATES
         #define BOOST_PROTO_EXTENDS_FUNCTION_CONST() \
             BOOST_PROTO_EXTENDS_FUNCTION_() \
             BOOST_PROTO_DEFINE_FUN_OP_VARIADIC_IMPL_(1) \
@@ -473,7 +473,7 @@
             // the operator() overloads, which is more efficient.
             BOOST_PROTO_EXTENDS_FUNCTION_()
 
- #ifdef BOOST_HAS_VARIADIC_TMPL
+ #ifndef BOOST_NO_VARIADIC_TEMPLATES
             BOOST_PROTO_DEFINE_FUN_OP_VARIADIC_IMPL_(1)
         #else
             /// INTERNAL ONLY
@@ -516,7 +516,7 @@
             // the operator() overloads, which is more efficient.
             BOOST_PROTO_EXTENDS_FUNCTION_()
 
- #ifdef BOOST_HAS_VARIADIC_TMPL
+ #ifndef BOOST_NO_VARIADIC_TEMPLATES
             BOOST_PROTO_DEFINE_FUN_OP_VARIADIC_IMPL_(0)
             BOOST_PROTO_DEFINE_FUN_OP_VARIADIC_IMPL_(1)
         #else

Modified: branches/release/boost/proto/generate.hpp
==============================================================================
--- branches/release/boost/proto/generate.hpp (original)
+++ branches/release/boost/proto/generate.hpp 2010-03-12 00:51:46 EST (Fri, 12 Mar 2010)
@@ -99,7 +99,7 @@
                 /// \param expr A Proto expression
                 /// \return expr
                 template<typename Expr>
- #ifdef BOOST_HAS_DECLTYPE
+ #ifndef BOOST_NO_DECLTYPE
                 Expr
                 #else
                 Expr const &

Modified: branches/release/boost/proto/matches.hpp
==============================================================================
--- branches/release/boost/proto/matches.hpp (original)
+++ branches/release/boost/proto/matches.hpp 2010-03-12 00:51:46 EST (Fri, 12 Mar 2010)
@@ -570,7 +570,7 @@
 
                     /// \param expr An expression
                     /// \return \c e
- #ifdef BOOST_HAS_DECLTYPE
+ #ifndef BOOST_NO_DECLTYPE
                     result_type
                     #else
                     typename impl::expr_param
@@ -609,7 +609,7 @@
                     /// \param e An expression
                     /// \pre <tt>matches\<Expr,not_\>::::value</tt> is \c true.
                     /// \return \c e
- #ifdef BOOST_HAS_DECLTYPE
+ #ifndef BOOST_NO_DECLTYPE
                     result_type
                     #else
                     typename impl::expr_param

Modified: branches/release/boost/proto/traits.hpp
==============================================================================
--- branches/release/boost/proto/traits.hpp (original)
+++ branches/release/boost/proto/traits.hpp 2010-03-12 00:51:46 EST (Fri, 12 Mar 2010)
@@ -542,7 +542,7 @@
                     /// \pre <tt>matches\<Expr, terminal\<T\> \>::::value</tt> is \c true.
                     /// \return \c e
                     /// \throw nothrow
- #ifdef BOOST_HAS_DECLTYPE
+ #ifndef BOOST_NO_DECLTYPE
                     result_type
                     #else
                     typename impl::expr_param
@@ -612,7 +612,7 @@
                     /// \pre <tt>matches\<Expr, nullary_expr\<Tag, T\> \>::::value</tt> is \c true.
                     /// \return \c e
                     /// \throw nothrow
- #ifdef BOOST_HAS_DECLTYPE
+ #ifndef BOOST_NO_DECLTYPE
                     result_type
                     #else
                     typename impl::expr_param

Modified: branches/release/boost/proto/transform/arg.hpp
==============================================================================
--- branches/release/boost/proto/transform/arg.hpp (original)
+++ branches/release/boost/proto/transform/arg.hpp 2010-03-12 00:51:46 EST (Fri, 12 Mar 2010)
@@ -38,7 +38,7 @@
             /// \param e The current expression.
             /// \return \c e
             /// \throw nothrow
- #ifdef BOOST_HAS_DECLTYPE
+ #ifndef BOOST_NO_DECLTYPE
             result_type
             #else
             typename impl::expr_param
@@ -75,7 +75,7 @@
             /// \param s The current state.
             /// \return \c s
             /// \throw nothrow
- #ifdef BOOST_HAS_DECLTYPE
+ #ifndef BOOST_NO_DECLTYPE
             result_type
             #else
             typename impl::state_param
@@ -113,7 +113,7 @@
             /// \param d The current data.
             /// \return \c d
             /// \throw nothrow
- #ifdef BOOST_HAS_DECLTYPE
+ #ifndef BOOST_NO_DECLTYPE
             result_type
             #else
             typename impl::data_param
@@ -154,7 +154,7 @@
             /// \param e The current expression.
             /// \return <tt>proto::child_c\<N\>(e)</tt>
             /// \throw nothrow
- #ifdef BOOST_HAS_DECLTYPE
+ #ifndef BOOST_NO_DECLTYPE
             result_type
             #else
             typename result_of::child_c<typename impl::expr_param, N>::type
@@ -194,7 +194,7 @@
             /// \param e The current expression.
             /// \return <tt>proto::value(e)</tt>
             /// \throw nothrow
- #ifdef BOOST_HAS_DECLTYPE
+ #ifndef BOOST_NO_DECLTYPE
             typename mpl::if_c<is_array<result_type>::value, result_type &, result_type>::type
             #else
             typename result_of::value<typename impl::expr_param>::type

Modified: branches/release/boost/proto/transform/pass_through.hpp
==============================================================================
--- branches/release/boost/proto/transform/pass_through.hpp (original)
+++ branches/release/boost/proto/transform/pass_through.hpp 2010-03-12 00:51:46 EST (Fri, 12 Mar 2010)
@@ -67,7 +67,7 @@
                 /// \param e An expression
                 /// \return \c e
                 /// \throw nothrow
- #ifdef BOOST_HAS_DECLTYPE
+ #ifndef BOOST_NO_DECLTYPE
                 result_type
                 #else
                 typename pass_through_impl::expr_param

Modified: branches/release/libs/proto/doc/acknowledgements.qbk
==============================================================================
--- branches/release/libs/proto/doc/acknowledgements.qbk (original)
+++ branches/release/libs/proto/doc/acknowledgements.qbk 2010-03-12 00:51:46 EST (Fri, 12 Mar 2010)
@@ -12,6 +12,9 @@
 little more than a vision. Their requirements and feedback have been
 indespensable.
 
+Thanks to Daniel James for providing a patch to remove the dependence on
+deprecated configuration macros for C++0x features.
+
 Thanks also to the developers of _PETE_. I found many good ideas there.
 
 [endsect]

Modified: branches/release/libs/proto/doc/reference.xml
==============================================================================
--- branches/release/libs/proto/doc/reference.xml (original)
+++ branches/release/libs/proto/doc/reference.xml 2010-03-12 00:51:46 EST (Fri, 12 Mar 2010)
@@ -1040,11 +1040,12 @@
   <xi:include href="reference/context/null.xml"/>
 
   <!-- concepts -->
- <!--<xi:include href="reference/concepts/BasicPrimitiveTransform.xml"/>-->
   <xi:include href="reference/concepts/CallableTransform.xml"/>
+ <xi:include href="reference/concepts/Domain.xml"/>
+ <xi:include href="reference/concepts/Expr.xml"/>
   <xi:include href="reference/concepts/ObjectTransform.xml"/>
+ <xi:include href="reference/concepts/PolymorphicFunctionObject.xml"/>
   <xi:include href="reference/concepts/PrimitiveTransform.xml"/>
   <xi:include href="reference/concepts/Transform.xml"/>
- <xi:include href="reference/concepts/PolymorphicFunctionObject.xml"/>
 
 </library-reference>

Copied: branches/release/libs/proto/doc/reference/concepts/Domain.xml (from r60453, /trunk/libs/proto/doc/reference/concepts/Domain.xml)
==============================================================================
--- /trunk/libs/proto/doc/reference/concepts/Domain.xml (original)
+++ branches/release/libs/proto/doc/reference/concepts/Domain.xml 2010-03-12 00:51:46 EST (Fri, 12 Mar 2010)
@@ -1,105 +1,105 @@
-<?xml version="1.0" ?>
-<concept name="Domain" category="utility">
- <!--
- Copyright 2010 Eric Niebler
-
- 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)
- -->
- <param name="Domain" role="domain-type" />
- <param name="Expr" role="expression-type" />
-
- <models-sentence>
- The type <arg num="1" /> must be a model of <self/>. It also
- models Unary Polymorphic Function.
- </models-sentence>
-
- <models-sentence>
- The type <arg num="2" /> must be a model of <conceptname>Expr</conceptname>
- </models-sentence>
-
- <description>
- <para>
- A Domain creates an association between expressions and a so-called
- generator, which is a function that maps an expression in the default
- domain to an equivalent expression in this Domain. It also associates
- an expression with a grammar, to which all expressions within this
- Domain must conform.
- </para>
- </description>
-
- <notation variables="d">
- <sample-value>
- <type name="Domain" />
- </sample-value>
- </notation>
-
- <notation variables="e">
- <sample-value>
- <type name="Expr" />
- </sample-value>
- </notation>
-
- <associated-type name="proto_grammar">
- <get-member-type name="proto_grammar">
- <type name="Domain"/>
- </get-member-type>
- <description>
- <simpara>The grammar to which every expression in this Domain
- must conform.</simpara>
- </description>
- </associated-type>
-
- <associated-type name="proto_generator">
- <get-member-type name="proto_generator">
- <type name="Domain"/>
- </get-member-type>
- <description>
- <simpara>
- A Unary Polymorphic Function that accepts expressions in the
- default domain and emits expressions in this Domain.
- </simpara>
- </description>
- </associated-type>
-
- <associated-type name="result_type">
- <get-member-type name="type">
- <apply-template name="boost::result_of">
- <type name="Domain(Expr)"/>
- </apply-template>
- </get-member-type>
- <description>
- <simpara>
- The type of the result of applying
- <computeroutput>proto_generator</computeroutput> to
- the specified expression type. The result is required to
- model <conceptname>Expr</conceptname>. The domain type
- associated with <computeroutput>result_type</computeroutput>
- is required to be the same type as this Domain.
- </simpara>
- </description>
- </associated-type>
-
- <valid-expression name="Apply Generator">
- <apply-function name="d">
- <sample-value>
- <type name="Expr"/>
- </sample-value>
- </apply-function>
- <return-type>
- <require-same-type testable="yes">
- <type name="result_type"/>
- </require-same-type>
- </return-type>
- <semantics>
- The result of applying <computeroutput>proto_generator</computeroutput>
- to the specified expression.
- </semantics>
- </valid-expression>
-
- <example-model>
- <type name="boost::proto::default_domain" />
- </example-model>
-
-</concept>
+<?xml version="1.0" ?>
+<concept name="Domain" category="utility">
+ <!--
+ Copyright 2010 Eric Niebler
+
+ 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)
+ -->
+ <param name="Domain" role="domain-type" />
+ <param name="Expr" role="expression-type" />
+
+ <models-sentence>
+ The type <arg num="1" /> must be a model of <self/>. It also
+ models Unary Polymorphic Function.
+ </models-sentence>
+
+ <models-sentence>
+ The type <arg num="2" /> must be a model of <conceptname>Expr</conceptname>
+ </models-sentence>
+
+ <description>
+ <para>
+ A Domain creates an association between expressions and a so-called
+ generator, which is a function that maps an expression in the default
+ domain to an equivalent expression in this Domain. It also associates
+ an expression with a grammar, to which all expressions within this
+ Domain must conform.
+ </para>
+ </description>
+
+ <notation variables="d">
+ <sample-value>
+ <type name="Domain" />
+ </sample-value>
+ </notation>
+
+ <notation variables="e">
+ <sample-value>
+ <type name="Expr" />
+ </sample-value>
+ </notation>
+
+ <associated-type name="proto_grammar">
+ <get-member-type name="proto_grammar">
+ <type name="Domain"/>
+ </get-member-type>
+ <description>
+ <simpara>The grammar to which every expression in this Domain
+ must conform.</simpara>
+ </description>
+ </associated-type>
+
+ <associated-type name="proto_generator">
+ <get-member-type name="proto_generator">
+ <type name="Domain"/>
+ </get-member-type>
+ <description>
+ <simpara>
+ A Unary Polymorphic Function that accepts expressions in the
+ default domain and emits expressions in this Domain.
+ </simpara>
+ </description>
+ </associated-type>
+
+ <associated-type name="result_type">
+ <get-member-type name="type">
+ <apply-template name="boost::result_of">
+ <type name="Domain(Expr)"/>
+ </apply-template>
+ </get-member-type>
+ <description>
+ <simpara>
+ The type of the result of applying
+ <computeroutput>proto_generator</computeroutput> to
+ the specified expression type. The result is required to
+ model <conceptname>Expr</conceptname>. The domain type
+ associated with <computeroutput>result_type</computeroutput>
+ is required to be the same type as this Domain.
+ </simpara>
+ </description>
+ </associated-type>
+
+ <valid-expression name="Apply Generator">
+ <apply-function name="d">
+ <sample-value>
+ <type name="Expr"/>
+ </sample-value>
+ </apply-function>
+ <return-type>
+ <require-same-type testable="yes">
+ <type name="result_type"/>
+ </require-same-type>
+ </return-type>
+ <semantics>
+ The result of applying <computeroutput>proto_generator</computeroutput>
+ to the specified expression.
+ </semantics>
+ </valid-expression>
+
+ <example-model>
+ <type name="boost::proto::default_domain" />
+ </example-model>
+
+</concept>

Copied: branches/release/libs/proto/doc/reference/concepts/Expr.xml (from r60453, /trunk/libs/proto/doc/reference/concepts/Expr.xml)
==============================================================================
--- /trunk/libs/proto/doc/reference/concepts/Expr.xml (original)
+++ branches/release/libs/proto/doc/reference/concepts/Expr.xml 2010-03-12 00:51:46 EST (Fri, 12 Mar 2010)
@@ -1,141 +1,141 @@
-<?xml version="1.0" ?>
-<concept name="Expr" category="utility">
- <!--
- Copyright 2010 Eric Niebler
-
- 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)
- -->
- <param name="Expr" role="expession-type" />
- <param name="Tag" role="tag-type" />
- <param name="Domain" role="domain-type" />
- <param name="N" role="mpl-integral-constant-type" />
-
- <models-sentence>
- The type <arg num="1" /> must be a model of <self/>.
- </models-sentence>
-
- <models-sentence>
- The type <arg num="3" /> must be a model of <conceptname>Domain</conceptname>.
- </models-sentence>
-
- <models-sentence>
- The type <arg num="4" /> must be a model of MPL Integral Constant.
- </models-sentence>
-
- <description>
- <para>
- An Expr represents a tagged node in an expression tree.
- The children of the Expr must themselves satisfy the
- Expr concept. The Expr has an arity representing the
- number of children. If the number of children is zero,
- the Expr also has a value. An Expr also has an associated
- <conceptname>Domain</conceptname>.
- </para>
- </description>
-
- <notation variables="e">
- <sample-value>
- <type name="Expr" />
- </sample-value>
- </notation>
-
- <associated-type name="proto_tag">
- <get-member-type name="type">
- <apply-template name="boost::proto::tag_of">
- <type name="Expr"/>
- </apply-template>
- </get-member-type>
- <description>
- <simpara>The tag type of the Expr.</simpara>
- </description>
- </associated-type>
-
- <associated-type name="proto_arity">
- <get-member-type name="type">
- <apply-template name="boost::proto::arity_of">
- <type name="Expr"/>
- </apply-template>
- </get-member-type>
- <description>
- <simpara>
- The arity (number of child nodes) of the Expr.
- <computeroutput>proto_arity</computeroutput> is an MPL Integral Constant.
- </simpara>
- </description>
- </associated-type>
-
- <associated-type name="proto_domain">
- <get-member-type name="type">
- <apply-template name="boost::proto::domain_of">
- <type name="Expr"/>
- </apply-template>
- </get-member-type>
- <description>
- <simpara>
- The Domain of the Expr. <computeroutput>proto_domain</computeroutput>
- models <conceptname>Domain</conceptname>.
- </simpara>
- </description>
- </associated-type>
-
- <associated-type name="childN_type">
- <get-member-type name="type">
- <apply-template name="boost::proto::result_of::child">
- <type name="Expr"/>
- <type name="N"/>
- </apply-template>
- </get-member-type>
- <description>
- <simpara>The Nth child of Expr.</simpara>
- </description>
- </associated-type>
-
- <associated-type name="value_type">
- <get-member-type name="type">
- <apply-template name="boost::proto::result_of::value">
- <type name="Expr"/>
- </apply-template>
- </get-member-type>
- <description>
- <simpara>The value of a terminal Expr.
- Requires <computeroutput>0 == proto_arity::value</computeroutput>.</simpara>
- </description>
- </associated-type>
-
- <valid-expression name="Get N-th Child">
- <apply-function name="boost::proto::child&lt; N &gt;">
- <sample-value>
- <type name="Expr" />
- </sample-value>
- </apply-function>
- <return-type>
- <require-same-type testable="yes">
- <type name="childN_type"/>
- </require-same-type>
- </return-type>
- <semantics>Extracts the Nth child from this Expr.
- Requires <computeroutput>N::value &lt; proto_arity::value</computeroutput>.</semantics>
- </valid-expression>
-
- <valid-expression name="Get Terminal Value">
- <apply-function name="boost::proto::value">
- <sample-value>
- <type name="Expr" />
- </sample-value>
- </apply-function>
- <return-type>
- <require-same-type testable="yes">
- <type name="value_type"/>
- </require-same-type>
- </return-type>
- <semantics>Extracts the value from a terminal Expr.
- Requires <computeroutput>0 == proto_arity::value</computeroutput>.</semantics>
- </valid-expression>
-
- <example-model>
- <type name="boost::proto::literal&lt; int &gt;" />
- </example-model>
-
-</concept>
+<?xml version="1.0" ?>
+<concept name="Expr" category="utility">
+ <!--
+ Copyright 2010 Eric Niebler
+
+ 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)
+ -->
+ <param name="Expr" role="expession-type" />
+ <param name="Tag" role="tag-type" />
+ <param name="Domain" role="domain-type" />
+ <param name="N" role="mpl-integral-constant-type" />
+
+ <models-sentence>
+ The type <arg num="1" /> must be a model of <self/>.
+ </models-sentence>
+
+ <models-sentence>
+ The type <arg num="3" /> must be a model of <conceptname>Domain</conceptname>.
+ </models-sentence>
+
+ <models-sentence>
+ The type <arg num="4" /> must be a model of MPL Integral Constant.
+ </models-sentence>
+
+ <description>
+ <para>
+ An Expr represents a tagged node in an expression tree.
+ The children of the Expr must themselves satisfy the
+ Expr concept. The Expr has an arity representing the
+ number of children. If the number of children is zero,
+ the Expr also has a value. An Expr also has an associated
+ <conceptname>Domain</conceptname>.
+ </para>
+ </description>
+
+ <notation variables="e">
+ <sample-value>
+ <type name="Expr" />
+ </sample-value>
+ </notation>
+
+ <associated-type name="proto_tag">
+ <get-member-type name="type">
+ <apply-template name="boost::proto::tag_of">
+ <type name="Expr"/>
+ </apply-template>
+ </get-member-type>
+ <description>
+ <simpara>The tag type of the Expr.</simpara>
+ </description>
+ </associated-type>
+
+ <associated-type name="proto_arity">
+ <get-member-type name="type">
+ <apply-template name="boost::proto::arity_of">
+ <type name="Expr"/>
+ </apply-template>
+ </get-member-type>
+ <description>
+ <simpara>
+ The arity (number of child nodes) of the Expr.
+ <computeroutput>proto_arity</computeroutput> is an MPL Integral Constant.
+ </simpara>
+ </description>
+ </associated-type>
+
+ <associated-type name="proto_domain">
+ <get-member-type name="type">
+ <apply-template name="boost::proto::domain_of">
+ <type name="Expr"/>
+ </apply-template>
+ </get-member-type>
+ <description>
+ <simpara>
+ The Domain of the Expr. <computeroutput>proto_domain</computeroutput>
+ models <conceptname>Domain</conceptname>.
+ </simpara>
+ </description>
+ </associated-type>
+
+ <associated-type name="childN_type">
+ <get-member-type name="type">
+ <apply-template name="boost::proto::result_of::child">
+ <type name="Expr"/>
+ <type name="N"/>
+ </apply-template>
+ </get-member-type>
+ <description>
+ <simpara>The Nth child of Expr.</simpara>
+ </description>
+ </associated-type>
+
+ <associated-type name="value_type">
+ <get-member-type name="type">
+ <apply-template name="boost::proto::result_of::value">
+ <type name="Expr"/>
+ </apply-template>
+ </get-member-type>
+ <description>
+ <simpara>The value of a terminal Expr.
+ Requires <computeroutput>0 == proto_arity::value</computeroutput>.</simpara>
+ </description>
+ </associated-type>
+
+ <valid-expression name="Get N-th Child">
+ <apply-function name="boost::proto::child&lt; N &gt;">
+ <sample-value>
+ <type name="Expr" />
+ </sample-value>
+ </apply-function>
+ <return-type>
+ <require-same-type testable="yes">
+ <type name="childN_type"/>
+ </require-same-type>
+ </return-type>
+ <semantics>Extracts the Nth child from this Expr.
+ Requires <computeroutput>N::value &lt; proto_arity::value</computeroutput>.</semantics>
+ </valid-expression>
+
+ <valid-expression name="Get Terminal Value">
+ <apply-function name="boost::proto::value">
+ <sample-value>
+ <type name="Expr" />
+ </sample-value>
+ </apply-function>
+ <return-type>
+ <require-same-type testable="yes">
+ <type name="value_type"/>
+ </require-same-type>
+ </return-type>
+ <semantics>Extracts the value from a terminal Expr.
+ Requires <computeroutput>0 == proto_arity::value</computeroutput>.</semantics>
+ </valid-expression>
+
+ <example-model>
+ <type name="boost::proto::literal&lt; int &gt;" />
+ </example-model>
+
+</concept>

Modified: branches/release/libs/proto/doc/reference/domain.xml
==============================================================================
--- branches/release/libs/proto/doc/reference/domain.xml (original)
+++ branches/release/libs/proto/doc/reference/domain.xml 2010-03-12 00:51:46 EST (Fri, 12 Mar 2010)
@@ -64,6 +64,9 @@
         <typedef name="proto_grammar">
           <type>Grammar</type>
         </typedef>
+ <typedef name="proto_generator">
+ <type>Generator</type>
+ </typedef>
       </struct>
 
       <!-- proto::default_domain -->


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk