Boost logo

Boost-Commit :

From: eric_at_[hidden]
Date: 2008-01-29 02:03:09


Author: eric_niebler
Date: 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
New Revision: 43009
URL: http://svn.boost.org/trac/boost/changeset/43009

Log:
add tests for deep_copy, make_expr, unpack_expr; fix bugs; update more copyrights
Added:
   trunk/libs/xpressive/proto/test/deep_copy.cpp (contents, props changed)
   trunk/libs/xpressive/proto/test/make_expr.cpp (contents, props changed)
Text files modified:
   trunk/boost/xpressive/proto/deep_copy.hpp | 19 +++-
   trunk/boost/xpressive/proto/literal.hpp | 23 +++++-
   trunk/boost/xpressive/proto/make_expr.hpp | 151 ++++++++++++++++++++++++++-------------
   trunk/boost/xpressive/proto/proto_fwd.hpp | 2
   trunk/libs/xpressive/proto/test/Jamfile.v2 | 10 +-
   trunk/libs/xpressive/proto/test/calculator.cpp | 2
   trunk/libs/xpressive/proto/test/examples.cpp | 2
   trunk/libs/xpressive/proto/test/lambda.cpp | 2
   trunk/libs/xpressive/proto/test/matches.cpp | 2
   trunk/libs/xpressive/proto/test/proto_fusion.cpp | 2
   trunk/libs/xpressive/proto/test/proto_fusion_s.cpp | 2
   trunk/libs/xpressive/proto/test/toy_spirit.cpp | 2
   trunk/libs/xpressive/proto/test/toy_spirit2.cpp | 2
   trunk/libs/xpressive/test/misc1.cpp | 2
   trunk/libs/xpressive/test/misc2.cpp | 2
   trunk/libs/xpressive/test/multiple_defs1.cpp | 2
   trunk/libs/xpressive/test/multiple_defs2.cpp | 2
   trunk/libs/xpressive/test/test.hpp | 2
   trunk/libs/xpressive/test/test1.cpp | 2
   trunk/libs/xpressive/test/test1.hpp | 2
   trunk/libs/xpressive/test/test10.cpp | 2
   trunk/libs/xpressive/test/test10.hpp | 2
   trunk/libs/xpressive/test/test10u.cpp | 2
   trunk/libs/xpressive/test/test11.cpp | 2
   trunk/libs/xpressive/test/test11.hpp | 2
   trunk/libs/xpressive/test/test11u.cpp | 2
   trunk/libs/xpressive/test/test1u.cpp | 2
   trunk/libs/xpressive/test/test2.cpp | 2
   trunk/libs/xpressive/test/test2.hpp | 2
   trunk/libs/xpressive/test/test2u.cpp | 2
   trunk/libs/xpressive/test/test3.cpp | 2
   trunk/libs/xpressive/test/test3.hpp | 2
   trunk/libs/xpressive/test/test3u.cpp | 2
   trunk/libs/xpressive/test/test4.cpp | 2
   trunk/libs/xpressive/test/test4.hpp | 2
   trunk/libs/xpressive/test/test4u.cpp | 2
   trunk/libs/xpressive/test/test5.cpp | 2
   trunk/libs/xpressive/test/test5.hpp | 2
   trunk/libs/xpressive/test/test5u.cpp | 2
   trunk/libs/xpressive/test/test6.cpp | 2
   trunk/libs/xpressive/test/test6.hpp | 2
   trunk/libs/xpressive/test/test6u.cpp | 2
   trunk/libs/xpressive/test/test7.cpp | 2
   trunk/libs/xpressive/test/test7.hpp | 2
   trunk/libs/xpressive/test/test7u.cpp | 2
   trunk/libs/xpressive/test/test8.cpp | 2
   trunk/libs/xpressive/test/test8.hpp | 2
   trunk/libs/xpressive/test/test8u.cpp | 2
   trunk/libs/xpressive/test/test9.cpp | 2
   trunk/libs/xpressive/test/test9.hpp | 2
   trunk/libs/xpressive/test/test9u.cpp | 2
   trunk/libs/xpressive/test/test_actions.cpp | 2
   trunk/libs/xpressive/test/test_assert.cpp | 2
   trunk/libs/xpressive/test/test_basic_regex.cpp | 2
   trunk/libs/xpressive/test/test_cycles.cpp | 2
   trunk/libs/xpressive/test/test_dynamic.cpp | 2
   trunk/libs/xpressive/test/test_match_results.cpp | 2
   trunk/libs/xpressive/test/test_non_char.cpp | 2
   trunk/libs/xpressive/test/test_partial_match.cpp | 2
   trunk/libs/xpressive/test/test_regex_algorithms.cpp | 2
   trunk/libs/xpressive/test/test_regex_compiler.cpp | 2
   trunk/libs/xpressive/test/test_regex_constants.cpp | 2
   trunk/libs/xpressive/test/test_regex_error.cpp | 2
   trunk/libs/xpressive/test/test_regex_iterator.cpp | 2
   trunk/libs/xpressive/test/test_regex_primitives.cpp | 2
   trunk/libs/xpressive/test/test_regex_token_iterator.cpp | 2
   trunk/libs/xpressive/test/test_regex_traits.cpp | 2
   trunk/libs/xpressive/test/test_skip.cpp | 2
   trunk/libs/xpressive/test/test_static.cpp | 2
   trunk/libs/xpressive/test/test_sub_match.cpp | 2
   70 files changed, 208 insertions(+), 127 deletions(-)

Modified: trunk/boost/xpressive/proto/deep_copy.hpp
==============================================================================
--- trunk/boost/xpressive/proto/deep_copy.hpp (original)
+++ trunk/boost/xpressive/proto/deep_copy.hpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -14,7 +14,7 @@
     #include <boost/preprocessor/cat.hpp>
     #include <boost/preprocessor/repetition/enum.hpp>
     #include <boost/preprocessor/iteration/iterate.hpp>
- #include <boost/call_traits.hpp>
+ #include <boost/type_traits/is_function.hpp>
     #include <boost/xpressive/proto/proto_fwd.hpp>
     #include <boost/xpressive/proto/expr.hpp>
     #include <boost/xpressive/proto/generate.hpp>
@@ -30,7 +30,16 @@
             template<typename Expr>
             struct deep_copy_impl<Expr, 0>
             {
- typedef typename terminal<typename result_of::arg<Expr>::type>::type expr_type;
+ typedef BOOST_PROTO_UNCVREF(typename Expr::proto_arg0) raw_terminal_type;
+ // can't store a function type in a terminal.
+ typedef
+ typename mpl::if_<
+ is_function<raw_terminal_type>
+ , typename Expr::proto_arg0
+ , raw_terminal_type
+ >::type
+ actual_terminal_type;
+ typedef typename terminal<actual_terminal_type>::type expr_type;
                 typedef typename Expr::proto_domain::template apply<expr_type>::type type;
 
                 template<typename Expr2>
@@ -68,8 +77,10 @@
             /// all internal nodes and most terminals held by reference
             /// are instead held by value.
             ///
- /// \attention Terminals of reference-to-array type and of
- /// reference-to-function type are left unchanged.
+ /// \attention Terminals of reference-to-function type are
+ /// left unchanged. Terminals of reference-to-array type are
+ /// stored by value, which can cause a large amount of data
+ /// to be passed by value and stored on the stack.
             struct deep_copy
             {
                 BOOST_PROTO_CALLABLE()

Modified: trunk/boost/xpressive/proto/literal.hpp
==============================================================================
--- trunk/boost/xpressive/proto/literal.hpp (original)
+++ trunk/boost/xpressive/proto/literal.hpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -11,6 +11,7 @@
 #define BOOST_PROTO_LITERAL_HPP_EAN_01_03_2007
 
 #include <boost/xpressive/proto/detail/prefix.hpp>
+#include <boost/config.hpp>
 #include <boost/xpressive/proto/proto_fwd.hpp>
 #include <boost/xpressive/proto/expr.hpp>
 #include <boost/xpressive/proto/traits.hpp>
@@ -21,13 +22,24 @@
 {
     namespace utility
     {
+ /// \brief A simple wrapper for a terminal, provided for
+ /// ease of use.
+ ///
+ /// A simple wrapper for a terminal, provided for
+ /// ease of use. In all cases, <tt>literal\<X\> l(x);</tt>
+ /// is equivalent to <tt>terminal\<X\>::type l = {x};</tt>.
+ ///
+ /// The \c Domain template parameter defaults to
+ /// \c proto::default_domain.
         template<typename T, typename Domain>
         struct literal
           : extends<typename terminal<T>::type, literal<T, Domain>, Domain>
         {
+ private:
             typedef typename terminal<T>::type terminal_type;
             typedef extends<terminal_type, literal<T, Domain>, Domain> base_type;
 
+ public:
             template<typename U>
             literal(U &u)
               : base_type(terminal_type::make(u))
@@ -47,8 +59,11 @@
         };
     }
 
- /// lit
- ///
+ /// \brief A helper function for creating a \c literal\<\> wrapper.
+ /// \param t The object to wrap.
+ /// \return literal\<T &\>(t)
+ /// \attention The returned value holds the argument by reference.
+ /// \throw nothrow
     template<typename T>
     inline literal<T &> lit(T &t)
     {
@@ -60,14 +75,14 @@
     template<typename T>
     inline literal<T const &> lit(T const &t)
     {
- #ifdef _MSC_VER
+ #ifdef BOOST_MSVC
         #pragma warning(push)
         #pragma warning(disable: 4180) // warning C4180: qualifier applied to function type has no meaning; ignored
         #endif
 
         return literal<T const &>(t);
 
- #ifdef _MSC_VER
+ #ifdef BOOST_MSVC
         #pragma warning(pop)
         #endif
     }

Modified: trunk/boost/xpressive/proto/make_expr.hpp
==============================================================================
--- trunk/boost/xpressive/proto/make_expr.hpp (original)
+++ trunk/boost/xpressive/proto/make_expr.hpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -49,6 +49,7 @@
     #include <boost/mpl/apply_wrap.hpp>
     #include <boost/utility/enable_if.hpp>
     #include <boost/type_traits/is_same.hpp>
+ #include <boost/type_traits/add_const.hpp>
     #include <boost/type_traits/add_reference.hpp>
     #include <boost/type_traits/remove_reference.hpp>
     #include <boost/xpressive/proto/proto_fwd.hpp>
@@ -59,22 +60,10 @@
     # include <boost/fusion/include/at.hpp>
     # include <boost/fusion/include/value_at.hpp>
     # include <boost/fusion/include/size.hpp>
- namespace boost { namespace proto { namespace detail
- {
- namespace fusion_ = fusion;
- }}}
     #else
     # include <boost/spirit/fusion/sequence/at.hpp>
     # include <boost/spirit/fusion/sequence/value_at.hpp>
     # include <boost/spirit/fusion/sequence/size.hpp>
- namespace boost { namespace proto { namespace detail { namespace fusion_
- {
- namespace result_of = fusion::meta;
- template<int N, typename Seq>
- typename result_of::at_c<Seq, N>::type at_c(Seq &seq) { return fusion::at<N>(seq); }
- template<int N, typename Seq>
- typename result_of::at_c<Seq const, N>::type at_c(Seq const &seq) { return fusion::at<N>(seq); }
- }}}}
     #endif
     #include <boost/xpressive/proto/detail/suffix.hpp>
 
@@ -107,14 +96,19 @@
     ///
     # define BOOST_PROTO_AT_TYPE(Z, N, DATA) \
         typename remove_reference< \
- typename detail::fusion_::result_of::value_at_c<BOOST_PP_TUPLE_ELEM(2, 0, DATA), N >::type \
+ typename add_const< \
+ typename fusion::BOOST_PROTO_FUSION_RESULT_OF::value_at_c< \
+ BOOST_PP_TUPLE_ELEM(2, 0, DATA) \
+ , N \
+ >::type \
+ >::type \
>::type \
         /**/
 
     /// INTERNAL ONLY
     ///
     # define BOOST_PROTO_AT(Z, N, DATA) \
- detail::fusion_::at_c<N >(BOOST_PP_TUPLE_ELEM(2, 0, DATA)) \
+ fusion::BOOST_PROTO_FUSION_AT_C(N, BOOST_PP_TUPLE_ELEM(2, 0, DATA)) \
         /**/
 
     /// INTERNAL ONLY
@@ -382,14 +376,23 @@
             {
                 typedef proto::expr<
                     tag::terminal
- , args0<typename fusion_::result_of::value_at_c<Sequence, 0>::type>
+ , args0<
+ typename add_reference<
+ typename add_const<
+ typename fusion::BOOST_PROTO_FUSION_RESULT_OF::value_at_c<
+ Sequence
+ , 0
+ >::type
+ >::type
+ >::type
+ >
> expr_type;
 
                 typedef typename Domain::template apply<expr_type>::type type;
 
                 static type const call(Sequence const &sequence)
                 {
- expr_type that = {fusion_::at_c<0>(sequence)};
+ expr_type that = {fusion::BOOST_PROTO_FUSION_AT_C(0, sequence)};
                     return Domain::make(that);
                 }
             };
@@ -442,7 +445,7 @@
                     Tag
                   , deduce_domain
                   , Sequence
- , detail::fusion_::result_of::size<Sequence>::type::value
+ , fusion::BOOST_PROTO_FUSION_RESULT_OF::size<Sequence>::type::value
>
             {};
 
@@ -452,7 +455,7 @@
                     Tag
                   , Domain
                   , Sequence
- , detail::fusion_::result_of::size<Sequence>::type::value
+ , fusion::BOOST_PROTO_FUSION_RESULT_OF::size<Sequence>::type::value
>
             {};
 
@@ -522,7 +525,7 @@
 
                 template<typename A>
                 typename result_of::make_expr<Tag, Domain, A>::type const
- operator ()(A &a) const
+ operator ()(A &a BOOST_PROTO_DISABLE_IF_IS_CONST(A)) const
                 {
                     return result_of::make_expr<Tag, Domain, A>::call(a);
                 }
@@ -545,18 +548,19 @@
 
                 template<typename This, typename A>
                 struct result<This(A)>
- : result_of::make_expr<tag::terminal, Domain, A>
- {};
+ {
+ typedef typename result_of::make_expr<tag::terminal, Domain, A>::type type;
+ };
 
                 template<typename A>
- typename result_of::make_expr<tag::terminal, Domain, A>::type
- operator ()(A &a) const
+ typename result_of::make_expr<tag::terminal, Domain, A>::type const
+ operator ()(A &a BOOST_PROTO_DISABLE_IF_IS_CONST(A)) const
                 {
                     return result_of::make_expr<tag::terminal, Domain, A>::call(a);
                 }
 
                 template<typename A>
- typename result_of::make_expr<tag::terminal, Domain, A const>::type
+ typename result_of::make_expr<tag::terminal, Domain, A const>::type const
                 operator ()(A const &a) const
                 {
                     return result_of::make_expr<tag::terminal, Domain, A const>::call(a);
@@ -574,19 +578,29 @@
 
                 template<typename This, typename Sequence>
                 struct result<This(Sequence)>
- : result_of::unpack_expr<
- Tag
- , Domain
- , BOOST_PROTO_UNCVREF(Sequence)
- >
- {};
+ {
+ typedef
+ typename result_of::unpack_expr<
+ Tag
+ , Domain
+ , typename remove_reference<Sequence>::type
+ >::type
+ type;
+ };
 
                 template<typename Sequence>
- typename result_of::unpack_expr<Tag, Domain, Sequence>::type
- operator ()(Sequence const &sequence) const
+ typename result_of::unpack_expr<Tag, Domain, Sequence>::type const
+ operator ()(Sequence &sequence BOOST_PROTO_DISABLE_IF_IS_CONST(Sequence)) const
                 {
                     return result_of::unpack_expr<Tag, Domain, Sequence>::call(sequence);
                 }
+
+ template<typename Sequence>
+ typename result_of::unpack_expr<Tag, Domain, Sequence const>::type const
+ operator ()(Sequence const &sequence) const
+ {
+ return result_of::unpack_expr<Tag, Domain, Sequence const>::call(sequence);
+ }
             };
 
             template<typename Tag, typename Domain>
@@ -594,17 +608,34 @@
             {
                 BOOST_PROTO_CALLABLE()
 
- template<typename Sequence>
- struct result
- : result_of::unpack_expr<Tag, Domain, Sequence>
- {};
+ template<typename Sig>
+ struct result {};
+
+ template<typename This, typename Sequence>
+ struct result<This(Sequence)>
+ {
+ typedef
+ typename result_of::unpack_expr<
+ Tag
+ , Domain
+ , typename remove_reference<Sequence>::type
+ >::type
+ type;
+ };
 
                 template<typename Sequence>
                 typename proto::result_of::unpack_expr<Tag, Domain, Sequence>::type
- operator ()(Sequence const &sequence) const
+ operator ()(Sequence &sequence BOOST_PROTO_DISABLE_IF_IS_CONST(Sequence)) const
                 {
                     return result_of::unpack_expr<Tag, Domain, Sequence>::call(sequence);
                 }
+
+ template<typename Sequence>
+ typename proto::result_of::unpack_expr<Tag, Domain, Sequence const>::type const
+ operator ()(Sequence const &sequence) const
+ {
+ return result_of::unpack_expr<Tag, Domain, Sequence const>::call(sequence);
+ }
             };
 
             template<typename Tag, typename Domain>
@@ -622,20 +653,37 @@
             is_domain<Sequence>
           , result_of::unpack_expr<Tag, Sequence>
>::type const
- unpack_expr(Sequence const &sequence)
+ unpack_expr(Sequence &sequence BOOST_PROTO_DISABLE_IF_IS_CONST(Sequence))
         {
             return result_of::unpack_expr<Tag, Sequence>::call(sequence);
         }
 
+ template<typename Tag, typename Sequence>
+ typename lazy_disable_if<
+ is_domain<Sequence>
+ , result_of::unpack_expr<Tag, Sequence const>
+ >::type const
+ unpack_expr(Sequence const &sequence)
+ {
+ return result_of::unpack_expr<Tag, Sequence const>::call(sequence);
+ }
+
         /// \overload
         ///
         template<typename Tag, typename Domain, typename Sequence2>
         typename result_of::unpack_expr<Tag, Domain, Sequence2>::type const
- unpack_expr(Sequence2 const &sequence2)
+ unpack_expr(Sequence2 &sequence2 BOOST_PROTO_DISABLE_IF_IS_CONST(Sequence2))
         {
             return result_of::unpack_expr<Tag, Domain, Sequence2>::call(sequence2);
         }
 
+ template<typename Tag, typename Domain, typename Sequence2>
+ typename result_of::unpack_expr<Tag, Domain, Sequence2 const>::type const
+ unpack_expr(Sequence2 const &sequence2)
+ {
+ return result_of::unpack_expr<Tag, Domain, Sequence2 const>::call(sequence2);
+ }
+
         /// make_expr
         ///
         template<typename Tag, typename A0>
@@ -718,7 +766,7 @@
             typedef proto::expr<
                 Tag
               , BOOST_PP_CAT(args, N)<
- BOOST_PP_ENUM(N, BOOST_PROTO_AS_ARG_AT_TYPE, (Sequence const, Domain))
+ BOOST_PP_ENUM(N, BOOST_PROTO_AS_ARG_AT_TYPE, (Sequence, Domain))
>
> expr_type;
 
@@ -758,16 +806,19 @@
 
         template<typename This BOOST_PP_ENUM_TRAILING_PARAMS(N, typename A)>
         struct result<This(BOOST_PP_ENUM_PARAMS(N, A))>
- : result_of::make_expr<
- Tag
- , Domain
- BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(
- N
- , typename remove_reference<A
- , >::type BOOST_PP_INTERCEPT
- )
- >
- {};
+ {
+ typedef
+ typename result_of::make_expr<
+ Tag
+ , Domain
+ BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(
+ N
+ , typename remove_reference<A
+ , >::type BOOST_PP_INTERCEPT
+ )
+ >::type
+ type;
+ };
 
         template<BOOST_PP_ENUM_PARAMS(N, typename A)>
         typename result_of::make_expr<

Modified: trunk/boost/xpressive/proto/proto_fwd.hpp
==============================================================================
--- trunk/boost/xpressive/proto/proto_fwd.hpp (original)
+++ trunk/boost/xpressive/proto/proto_fwd.hpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -50,11 +50,13 @@
 #define BOOST_PROTO_DEFINE_FUSION_CATEGORY(X)
 #define BOOST_PROTO_FUSION_RESULT_OF meta
 #define BOOST_PROTO_FUSION_EXTENSION meta
+#define BOOST_PROTO_FUSION_AT_C(N, X) at<N>(X)
 #else
 #define BOOST_PROTO_DEFINE_FUSION_TAG(X) typedef X fusion_tag;
 #define BOOST_PROTO_DEFINE_FUSION_CATEGORY(X) typedef X category;
 #define BOOST_PROTO_FUSION_RESULT_OF result_of
 #define BOOST_PROTO_FUSION_EXTENSION extension
+#define BOOST_PROTO_FUSION_AT_C(N, X) at_c<N>(X)
 #endif
 
 #include <boost/xpressive/proto/detail/suffix.hpp> // must be last include

Modified: trunk/libs/xpressive/proto/test/Jamfile.v2
==============================================================================
--- trunk/libs/xpressive/proto/test/Jamfile.v2 (original)
+++ trunk/libs/xpressive/proto/test/Jamfile.v2 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -19,13 +19,15 @@
 
 test-suite "proto"
     :
+ [ run calculator.cpp ]
+ [ run deep_copy.cpp ]
+ [ run examples.cpp ]
+ [ run lambda.cpp ]
+ [ run make_expr.cpp ]
+ [ run matches.cpp ]
         [ run proto_fusion.cpp : : : <toolset>gcc:<cxxflags>-ftemplate-depth-1024 ]
         [ run proto_fusion_s.cpp ]
         [ run toy_spirit.cpp ]
         [ run toy_spirit2.cpp ]
- [ run calculator.cpp ]
- [ run lambda.cpp ]
- [ run matches.cpp ]
- [ run examples.cpp ]
     ;
 

Modified: trunk/libs/xpressive/proto/test/calculator.cpp
==============================================================================
--- trunk/libs/xpressive/proto/test/calculator.cpp (original)
+++ trunk/libs/xpressive/proto/test/calculator.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // calculator.hpp
 //
-// Copyright 2006 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Added: trunk/libs/xpressive/proto/test/deep_copy.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/xpressive/proto/test/deep_copy.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -0,0 +1,49 @@
+///////////////////////////////////////////////////////////////////////////////
+// deep_copy.hpp
+//
+// Copyright 2008 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)
+
+#include <boost/xpressive/proto/proto.hpp>
+#include <boost/test/unit_test.hpp>
+
+using namespace boost;
+
+void foo() {}
+
+void test1()
+{
+ using namespace proto;
+
+ int i = 42;
+ terminal<int &>::type t1 = {i};
+ terminal<int>::type r1 = deep_copy(t1);
+ BOOST_CHECK_EQUAL(42, arg(r1));
+
+ plus<terminal<int>::type, terminal<int>::type>::type r2 = deep_copy(t1 + 24);
+ BOOST_CHECK_EQUAL(42, arg(left(r2)));
+ BOOST_CHECK_EQUAL(24, arg(right(r2)));
+
+ char buf[16] = {'\0'};
+ terminal<char (&)[16]>::type t3 = {buf};
+ terminal<char[16]>::type r3 = deep_copy(t3);
+
+ terminal<void(&)()>::type t4 = {foo};
+ plus<terminal<void(&)()>::type, terminal<int>::type>::type r4 = deep_copy(t4 + t1);
+ BOOST_CHECK_EQUAL(42, arg(right(r4)));
+ BOOST_CHECK_EQUAL(&foo, &arg(left(r4)));
+}
+
+using namespace unit_test;
+///////////////////////////////////////////////////////////////////////////////
+// init_unit_test_suite
+//
+test_suite* init_unit_test_suite( int argc, char* argv[] )
+{
+ test_suite *test = BOOST_TEST_SUITE("test deep_copy of proto parse trees");
+
+ test->add(BOOST_TEST_CASE(&test1));
+
+ return test;
+}

Modified: trunk/libs/xpressive/proto/test/examples.cpp
==============================================================================
--- trunk/libs/xpressive/proto/test/examples.cpp (original)
+++ trunk/libs/xpressive/proto/test/examples.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // examples2.hpp
 //
-// Copyright 2006 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/proto/test/lambda.cpp
==============================================================================
--- trunk/libs/xpressive/proto/test/lambda.cpp (original)
+++ trunk/libs/xpressive/proto/test/lambda.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // lambda.hpp
 //
-// Copyright 2006 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Added: trunk/libs/xpressive/proto/test/make_expr.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/xpressive/proto/test/make_expr.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -0,0 +1,126 @@
+///////////////////////////////////////////////////////////////////////////////
+// make_expr.hpp
+//
+// Copyright 2008 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)
+
+#include <sstream>
+#include <boost/xpressive/proto/proto.hpp>
+#include <boost/fusion/include/vector.hpp>
+#include <boost/test/unit_test.hpp>
+
+using namespace boost;
+using namespace proto;
+
+template<typename E> struct ewrap;
+
+struct mydomain
+ : domain<generator<ewrap> >
+{};
+
+template<typename E> struct ewrap
+ : extends<E, ewrap<E>, mydomain>
+{
+ explicit ewrap(E const &e = E())
+ : extends<E, ewrap<E>, mydomain>(e)
+ {}
+};
+
+void test_make_expr()
+{
+ int i = 42;
+ terminal<int const &>::type t1 = make_expr<tag::terminal>(1);
+ terminal<int &>::type t2 = make_expr<tag::terminal>(i);
+ posit<terminal<int const &>::type>::type p1 = make_expr<tag::posit>(1);
+ posit<terminal<int &>::type>::type p2 = make_expr<tag::posit>(i);
+ BOOST_CHECK_EQUAL(proto::arg(proto::arg(p2)), 42);
+
+ ewrap<posit<ewrap<terminal<int &>::type> >::type> p3 = make_expr<tag::posit, mydomain>(i);
+ BOOST_CHECK_EQUAL(proto::arg(proto::arg(p3)), 42);
+
+ ewrap<plus<
+ proto::ref_<ewrap<posit<ewrap<terminal<int &>::type> >::type> const> // BUGBUG the const is an error here
+ , ewrap<terminal<int const &>::type>
+ >::type> p4 = make_expr<tag::plus>(p3, 0);
+ BOOST_CHECK_EQUAL(proto::arg(proto::arg(proto::left(p4))), 42);
+}
+
+void test_make_expr2()
+{
+ int i = 42;
+ terminal<int const &>::type t1 = functional::make_expr<tag::terminal>()(1);
+ terminal<int &>::type t2 = functional::make_expr<tag::terminal>()(i);
+ posit<terminal<int const &>::type>::type p1 = functional::make_expr<tag::posit>()(1);
+ posit<terminal<int &>::type>::type p2 = functional::make_expr<tag::posit>()(i);
+ BOOST_CHECK_EQUAL(proto::arg(proto::arg(p2)), 42);
+
+ ewrap<posit<ewrap<terminal<int &>::type> >::type> p3 = functional::make_expr<tag::posit, mydomain>()(i);
+ BOOST_CHECK_EQUAL(proto::arg(proto::arg(p3)), 42);
+
+ ewrap<plus<
+ proto::ref_<ewrap<posit<ewrap<terminal<int &>::type> >::type> const> // BUGBUG the const is an error here
+ , ewrap<terminal<int const &>::type>
+ >::type> p4 = functional::make_expr<tag::plus, mydomain>()(p3, 0);
+ BOOST_CHECK_EQUAL(proto::arg(proto::arg(proto::left(p4))), 42);
+}
+
+void test_unpack_expr()
+{
+ int i = 42;
+ fusion::vector<int> v1(1);
+ fusion::vector<int&> v2(i);
+ terminal<int const &>::type t1 = unpack_expr<tag::terminal>(v1);
+ terminal<int &>::type t2 = unpack_expr<tag::terminal>(v2);
+ posit<terminal<int const &>::type>::type p1 = unpack_expr<tag::posit>(v1);
+ posit<terminal<int &>::type>::type p2 = unpack_expr<tag::posit>(v2);
+ BOOST_CHECK_EQUAL(proto::arg(proto::arg(p2)), 42);
+
+ ewrap<posit<ewrap<terminal<int &>::type> >::type> p3 = unpack_expr<tag::posit, mydomain>(v2);
+ BOOST_CHECK_EQUAL(proto::arg(proto::arg(p3)), 42);
+
+ fusion::vector<ewrap<posit<ewrap<terminal<int &>::type> >::type> &, int> v3(p3, 0);
+ ewrap<plus<
+ proto::ref_<ewrap<posit<ewrap<terminal<int &>::type> >::type> >
+ , ewrap<terminal<int const &>::type>
+ >::type> p4 = unpack_expr<tag::plus>(v3);
+ BOOST_CHECK_EQUAL(proto::arg(proto::arg(proto::left(p4))), 42);
+}
+
+void test_unpack_expr2()
+{
+ int i = 42;
+ fusion::vector<int> v1(1);
+ fusion::vector<int&> v2(i);
+ terminal<int const &>::type t1 = functional::unpack_expr<tag::terminal>()(v1);
+ terminal<int &>::type t2 = functional::unpack_expr<tag::terminal>()(v2);
+ posit<terminal<int const &>::type>::type p1 = functional::unpack_expr<tag::posit>()(v1);
+ posit<terminal<int &>::type>::type p2 = functional::unpack_expr<tag::posit>()(v2);
+ BOOST_CHECK_EQUAL(proto::arg(proto::arg(p2)), 42);
+
+ ewrap<posit<ewrap<terminal<int &>::type> >::type> p3 = functional::unpack_expr<tag::posit, mydomain>()(v2);
+ BOOST_CHECK_EQUAL(proto::arg(proto::arg(p3)), 42);
+
+ fusion::vector<ewrap<posit<ewrap<terminal<int &>::type> >::type> &, int> v3(p3, 0);
+ ewrap<plus<
+ proto::ref_<ewrap<posit<ewrap<terminal<int &>::type> >::type> >
+ , ewrap<terminal<int const &>::type>
+ >::type> p4 = functional::unpack_expr<tag::plus>()(v3);
+ BOOST_CHECK_EQUAL(proto::arg(proto::arg(proto::left(p4))), 42);
+}
+
+using namespace unit_test;
+///////////////////////////////////////////////////////////////////////////////
+// init_unit_test_suite
+//
+test_suite* init_unit_test_suite( int argc, char* argv[] )
+{
+ test_suite *test = BOOST_TEST_SUITE("test make_expr, unpack_expr and friends");
+
+ test->add(BOOST_TEST_CASE(&test_make_expr));
+ test->add(BOOST_TEST_CASE(&test_make_expr2));
+ test->add(BOOST_TEST_CASE(&test_unpack_expr));
+ test->add(BOOST_TEST_CASE(&test_unpack_expr2));
+
+ return test;
+}

Modified: trunk/libs/xpressive/proto/test/matches.cpp
==============================================================================
--- trunk/libs/xpressive/proto/test/matches.cpp (original)
+++ trunk/libs/xpressive/proto/test/matches.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // matches.hpp
 //
-// Copyright 2006 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/proto/test/proto_fusion.cpp
==============================================================================
--- trunk/libs/xpressive/proto/test/proto_fusion.cpp (original)
+++ trunk/libs/xpressive/proto/test/proto_fusion.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // proto_fusion.cpp
 //
-// Copyright 2006 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/proto/test/proto_fusion_s.cpp
==============================================================================
--- trunk/libs/xpressive/proto/test/proto_fusion_s.cpp (original)
+++ trunk/libs/xpressive/proto/test/proto_fusion_s.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // proto_fusion_s.cpp
 //
-// Copyright 2006 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/proto/test/toy_spirit.cpp
==============================================================================
--- trunk/libs/xpressive/proto/test/toy_spirit.cpp (original)
+++ trunk/libs/xpressive/proto/test/toy_spirit.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // toy_spirit.hpp
 //
-// Copyright 2006 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/proto/test/toy_spirit2.cpp
==============================================================================
--- trunk/libs/xpressive/proto/test/toy_spirit2.cpp (original)
+++ trunk/libs/xpressive/proto/test/toy_spirit2.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // toy_spirit3.cpp
 //
-// Copyright 2006 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/misc1.cpp
==============================================================================
--- trunk/libs/xpressive/test/misc1.cpp (original)
+++ trunk/libs/xpressive/test/misc1.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // misc1.hpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/misc2.cpp
==============================================================================
--- trunk/libs/xpressive/test/misc2.cpp (original)
+++ trunk/libs/xpressive/test/misc2.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // misc2.hpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/multiple_defs1.cpp
==============================================================================
--- trunk/libs/xpressive/test/multiple_defs1.cpp (original)
+++ trunk/libs/xpressive/test/multiple_defs1.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // multiple_defs1.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/multiple_defs2.cpp
==============================================================================
--- trunk/libs/xpressive/test/multiple_defs2.cpp (original)
+++ trunk/libs/xpressive/test/multiple_defs2.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // multiple_defs2.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test.hpp
==============================================================================
--- trunk/libs/xpressive/test/test.hpp (original)
+++ trunk/libs/xpressive/test/test.hpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test.hpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test1.cpp
==============================================================================
--- trunk/libs/xpressive/test/test1.cpp (original)
+++ trunk/libs/xpressive/test/test1.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test1.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test1.hpp
==============================================================================
--- trunk/libs/xpressive/test/test1.hpp (original)
+++ trunk/libs/xpressive/test/test1.hpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test1.h
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test10.cpp
==============================================================================
--- trunk/libs/xpressive/test/test10.cpp (original)
+++ trunk/libs/xpressive/test/test10.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test10.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test10.hpp
==============================================================================
--- trunk/libs/xpressive/test/test10.hpp (original)
+++ trunk/libs/xpressive/test/test10.hpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test10.hpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test10u.cpp
==============================================================================
--- trunk/libs/xpressive/test/test10u.cpp (original)
+++ trunk/libs/xpressive/test/test10u.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test10.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test11.cpp
==============================================================================
--- trunk/libs/xpressive/test/test11.cpp (original)
+++ trunk/libs/xpressive/test/test11.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test11.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test11.hpp
==============================================================================
--- trunk/libs/xpressive/test/test11.hpp (original)
+++ trunk/libs/xpressive/test/test11.hpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test11.hpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test11u.cpp
==============================================================================
--- trunk/libs/xpressive/test/test11u.cpp (original)
+++ trunk/libs/xpressive/test/test11u.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test11u.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test1u.cpp
==============================================================================
--- trunk/libs/xpressive/test/test1u.cpp (original)
+++ trunk/libs/xpressive/test/test1u.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test1.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test2.cpp
==============================================================================
--- trunk/libs/xpressive/test/test2.cpp (original)
+++ trunk/libs/xpressive/test/test2.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test2.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test2.hpp
==============================================================================
--- trunk/libs/xpressive/test/test2.hpp (original)
+++ trunk/libs/xpressive/test/test2.hpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test2.hpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test2u.cpp
==============================================================================
--- trunk/libs/xpressive/test/test2u.cpp (original)
+++ trunk/libs/xpressive/test/test2u.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test2.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test3.cpp
==============================================================================
--- trunk/libs/xpressive/test/test3.cpp (original)
+++ trunk/libs/xpressive/test/test3.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test3.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test3.hpp
==============================================================================
--- trunk/libs/xpressive/test/test3.hpp (original)
+++ trunk/libs/xpressive/test/test3.hpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test3.hpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test3u.cpp
==============================================================================
--- trunk/libs/xpressive/test/test3u.cpp (original)
+++ trunk/libs/xpressive/test/test3u.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test3.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test4.cpp
==============================================================================
--- trunk/libs/xpressive/test/test4.cpp (original)
+++ trunk/libs/xpressive/test/test4.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test4.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test4.hpp
==============================================================================
--- trunk/libs/xpressive/test/test4.hpp (original)
+++ trunk/libs/xpressive/test/test4.hpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test4.hpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test4u.cpp
==============================================================================
--- trunk/libs/xpressive/test/test4u.cpp (original)
+++ trunk/libs/xpressive/test/test4u.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test4.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test5.cpp
==============================================================================
--- trunk/libs/xpressive/test/test5.cpp (original)
+++ trunk/libs/xpressive/test/test5.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test5.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test5.hpp
==============================================================================
--- trunk/libs/xpressive/test/test5.hpp (original)
+++ trunk/libs/xpressive/test/test5.hpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test5.hpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test5u.cpp
==============================================================================
--- trunk/libs/xpressive/test/test5u.cpp (original)
+++ trunk/libs/xpressive/test/test5u.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test5.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test6.cpp
==============================================================================
--- trunk/libs/xpressive/test/test6.cpp (original)
+++ trunk/libs/xpressive/test/test6.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test6.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test6.hpp
==============================================================================
--- trunk/libs/xpressive/test/test6.hpp (original)
+++ trunk/libs/xpressive/test/test6.hpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test6.hpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test6u.cpp
==============================================================================
--- trunk/libs/xpressive/test/test6u.cpp (original)
+++ trunk/libs/xpressive/test/test6u.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test6.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test7.cpp
==============================================================================
--- trunk/libs/xpressive/test/test7.cpp (original)
+++ trunk/libs/xpressive/test/test7.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test7.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test7.hpp
==============================================================================
--- trunk/libs/xpressive/test/test7.hpp (original)
+++ trunk/libs/xpressive/test/test7.hpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test7.hpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test7u.cpp
==============================================================================
--- trunk/libs/xpressive/test/test7u.cpp (original)
+++ trunk/libs/xpressive/test/test7u.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test7.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test8.cpp
==============================================================================
--- trunk/libs/xpressive/test/test8.cpp (original)
+++ trunk/libs/xpressive/test/test8.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test8.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test8.hpp
==============================================================================
--- trunk/libs/xpressive/test/test8.hpp (original)
+++ trunk/libs/xpressive/test/test8.hpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test8.hpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test8u.cpp
==============================================================================
--- trunk/libs/xpressive/test/test8u.cpp (original)
+++ trunk/libs/xpressive/test/test8u.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test8.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test9.cpp
==============================================================================
--- trunk/libs/xpressive/test/test9.cpp (original)
+++ trunk/libs/xpressive/test/test9.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test9.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test9.hpp
==============================================================================
--- trunk/libs/xpressive/test/test9.hpp (original)
+++ trunk/libs/xpressive/test/test9.hpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test9.hpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test9u.cpp
==============================================================================
--- trunk/libs/xpressive/test/test9u.cpp (original)
+++ trunk/libs/xpressive/test/test9u.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test9.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test_actions.cpp
==============================================================================
--- trunk/libs/xpressive/test/test_actions.cpp (original)
+++ trunk/libs/xpressive/test/test_actions.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test_actions.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test_assert.cpp
==============================================================================
--- trunk/libs/xpressive/test/test_assert.cpp (original)
+++ trunk/libs/xpressive/test/test_assert.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test_assert.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test_basic_regex.cpp
==============================================================================
--- trunk/libs/xpressive/test/test_basic_regex.cpp (original)
+++ trunk/libs/xpressive/test/test_basic_regex.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test_basic_regex.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test_cycles.cpp
==============================================================================
--- trunk/libs/xpressive/test/test_cycles.cpp (original)
+++ trunk/libs/xpressive/test/test_cycles.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test_cycles.hpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test_dynamic.cpp
==============================================================================
--- trunk/libs/xpressive/test/test_dynamic.cpp (original)
+++ trunk/libs/xpressive/test/test_dynamic.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test_dynamic.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test_match_results.cpp
==============================================================================
--- trunk/libs/xpressive/test/test_match_results.cpp (original)
+++ trunk/libs/xpressive/test/test_match_results.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test_match_results.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test_non_char.cpp
==============================================================================
--- trunk/libs/xpressive/test/test_non_char.cpp (original)
+++ trunk/libs/xpressive/test/test_non_char.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test_non_char.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test_partial_match.cpp
==============================================================================
--- trunk/libs/xpressive/test/test_partial_match.cpp (original)
+++ trunk/libs/xpressive/test/test_partial_match.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test_partial_match.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test_regex_algorithms.cpp
==============================================================================
--- trunk/libs/xpressive/test/test_regex_algorithms.cpp (original)
+++ trunk/libs/xpressive/test/test_regex_algorithms.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test_regex_algorithms.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test_regex_compiler.cpp
==============================================================================
--- trunk/libs/xpressive/test/test_regex_compiler.cpp (original)
+++ trunk/libs/xpressive/test/test_regex_compiler.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test_regex_compiler.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test_regex_constants.cpp
==============================================================================
--- trunk/libs/xpressive/test/test_regex_constants.cpp (original)
+++ trunk/libs/xpressive/test/test_regex_constants.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test_regex_constants.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test_regex_error.cpp
==============================================================================
--- trunk/libs/xpressive/test/test_regex_error.cpp (original)
+++ trunk/libs/xpressive/test/test_regex_error.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test_regex_error.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test_regex_iterator.cpp
==============================================================================
--- trunk/libs/xpressive/test/test_regex_iterator.cpp (original)
+++ trunk/libs/xpressive/test/test_regex_iterator.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test_regex_iterator.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test_regex_primitives.cpp
==============================================================================
--- trunk/libs/xpressive/test/test_regex_primitives.cpp (original)
+++ trunk/libs/xpressive/test/test_regex_primitives.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test_regex_primitives.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test_regex_token_iterator.cpp
==============================================================================
--- trunk/libs/xpressive/test/test_regex_token_iterator.cpp (original)
+++ trunk/libs/xpressive/test/test_regex_token_iterator.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test_regex_token_iterator.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test_regex_traits.cpp
==============================================================================
--- trunk/libs/xpressive/test/test_regex_traits.cpp (original)
+++ trunk/libs/xpressive/test/test_regex_traits.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test_regex_traits.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test_skip.cpp
==============================================================================
--- trunk/libs/xpressive/test/test_skip.cpp (original)
+++ trunk/libs/xpressive/test/test_skip.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test_skip.hpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test_static.cpp
==============================================================================
--- trunk/libs/xpressive/test/test_static.cpp (original)
+++ trunk/libs/xpressive/test/test_static.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test_static.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 

Modified: trunk/libs/xpressive/test/test_sub_match.cpp
==============================================================================
--- trunk/libs/xpressive/test/test_sub_match.cpp (original)
+++ trunk/libs/xpressive/test/test_sub_match.cpp 2008-01-29 02:03:03 EST (Tue, 29 Jan 2008)
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // test_sub_match.cpp
 //
-// Copyright 2004 Eric Niebler. Distributed under the Boost
+// Copyright 2008 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)
 


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