$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r56513 - in sandbox/statistics/distribution_common: . boost boost/statistics boost/statistics/detail boost/statistics/detail/distribution_common boost/statistics/detail/distribution_common/concept boost/statistics/detail/distribution_common/concept/aggregate boost/statistics/detail/distribution_common/concept/unary boost/statistics/detail/distribution_common/meta
From: erwann.rogard_at_[hidden]
Date: 2009-10-02 13:46:18
Author: e_r
Date: 2009-10-02 13:46:16 EDT (Fri, 02 Oct 2009)
New Revision: 56513
URL: http://svn.boost.org/trac/boost/changeset/56513
Log:
a
Added:
   sandbox/statistics/distribution_common/
   sandbox/statistics/distribution_common/boost/
   sandbox/statistics/distribution_common/boost/statistics/
   sandbox/statistics/distribution_common/boost/statistics/detail/
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/aggregate/
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/aggregate/expectations.hpp   (contents, props changed)
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/aggregate/normalized_functions.hpp   (contents, props changed)
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/aggregate/unnormalized_functions.hpp   (contents, props changed)
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/cdf.hpp   (contents, props changed)
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/derivative_log_unnormalized_pdf.hpp   (contents, props changed)
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/log_unnormalized_pdf.hpp   (contents, props changed)
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/mean.hpp   (contents, props changed)
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/normalizing_constant.hpp   (contents, props changed)
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/pdf.hpp   (contents, props changed)
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/quantile.hpp   (contents, props changed)
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/variance.hpp   (contents, props changed)
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/inherit_policy.hpp   (contents, props changed)
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/inherit_value.hpp   (contents, props changed)
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/policy.hpp   (contents, props changed)
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/value.hpp   (contents, props changed)
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/wrapper_distribution.hpp   (contents, props changed)
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/wrapper_probability.hpp   (contents, props changed)
   sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/wrapper_variable.hpp   (contents, props changed)
Added: sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/aggregate/expectations.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/aggregate/expectations.hpp	2009-10-02 13:46:16 EDT (Fri, 02 Oct 2009)
@@ -0,0 +1,42 @@
+//////////////////////////////////////////////////////////////////////////////////
+// distribution::common::concept::aggregate::expectations.hpp                   //
+//                                                                              //
+//  (C) Copyright 2009 Erwann Rogard                                            //
+//  Use, modification and distribution are subject to 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)            //
+//////////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_AGGREGATE_EXPECTATIONS_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_AGGREGATE_EXPECTATIONS_HPP_ER_2009
+#include <boost/mpl/empty_base.hpp>
+#include <boost/statistics/detail/distribution_common/concept/unary/mean.hpp>
+#include <boost/statistics/detail/distribution_common/concept/unary/variance.hpp>
+
+namespace boost{
+namespace statistics{
+namespace detail{
+namespace distribution{
+namespace common{
+namespace concept{
+
+    template<
+        typename B = mpl::empty_base
+    >
+    class Expectations : public
+        Mean< 
+            Variance<
+                B
+            >
+        >
+    {
+    };
+
+}// concept
+}// common
+}// distribution
+
+}// statistics
+}// detail
+}// boost
+
+#endif
\ No newline at end of file
Added: sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/aggregate/normalized_functions.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/aggregate/normalized_functions.hpp	2009-10-02 13:46:16 EDT (Fri, 02 Oct 2009)
@@ -0,0 +1,45 @@
+//////////////////////////////////////////////////////////////////////////////////
+// distribution::common::concept::aggregate::normalized_functions.hpp           //
+//                                                                              //
+//  (C) Copyright 2009 Erwann Rogard                                            //
+//  Use, modification and distribution are subject to 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)            //
+//////////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_AGGREGATE_NORMALIZED_FUNCTIONS_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_AGGREGATE_NORMALIZED_FUNCTIONS_HPP_ER_2009
+#include <boost/mpl/empty_base.hpp>
+#include <boost/statistics/detail/distribution_common/concept/unary/cdf.hpp>
+#include <boost/statistics/detail/distribution_common/concept/unary/pdf.hpp>
+#include <boost/statistics/detail/distribution_common/concept/unary/quantile.hpp>
+
+namespace boost{
+namespace statistics{
+namespace detail{
+namespace distribution{
+namespace common{
+namespace concept{
+
+    template<
+        typename B
+    >
+    class NormalizedFunctions : public
+        Cdf<
+            Pdf<
+                Quantile<
+                    B
+                >
+            >
+        >
+    {
+    };
+
+}// concept
+}// common
+}// distribution
+
+}// statistics
+}// detail
+}// boost
+
+#endif
Added: sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/aggregate/unnormalized_functions.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/aggregate/unnormalized_functions.hpp	2009-10-02 13:46:16 EDT (Fri, 02 Oct 2009)
@@ -0,0 +1,42 @@
+//////////////////////////////////////////////////////////////////////////////////
+// distribution::common::concept::aggregate::unnormalized_functions.hpp         //
+//                                                                              //
+//  (C) Copyright 2009 Erwann Rogard                                            //
+//  Use, modification and distribution are subject to 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)            //
+//////////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_AGGREGATE_UNNORMALIZED_FUNCTIONS_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_AGGREGATE_UNNORMALIZED_FUNCTIONS_HPP_ER_2009
+#include <boost/mpl/empty_base.hpp>
+#include <boost/statistics/detail/distribution_common/concept/unary/log_unnormalized_pdf.hpp>
+#include <boost/statistics/detail/distribution_common/concept/unary/derivative_log_unnormalized_pdf.hpp>
+
+namespace boost{
+namespace statistics{
+namespace detail{
+namespace distribution{
+namespace common{
+namespace concept{
+
+    template<
+        typename B
+    >
+    class UnnormalizedFunctions : public
+        LogUnnormalizedPdf< 
+            DerivativeLogUnnormalizedPdf<   
+                B                
+            >
+        >
+    {
+    };
+
+}// concept
+}// common
+}// distribution
+
+}// statistics
+}// detail
+}// boost
+
+#endif
\ No newline at end of file
Added: sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/cdf.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/cdf.hpp	2009-10-02 13:46:16 EDT (Fri, 02 Oct 2009)
@@ -0,0 +1,47 @@
+//////////////////////////////////////////////////////////////////////////////////
+// distribution::common::concept::unary::concept::cdf.hpp                       //
+//                                                                              //
+//  (C) Copyright 2009 Erwann Rogard                                            //
+//  Use, modification and distribution are subject to 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)            //
+//////////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_UNARY_CDF_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_UNARY_CDF_HPP_ER_2009
+#include <boost/concept_check.hpp>
+
+namespace boost{
+namespace statistics{
+namespace detail{
+namespace distribution{
+namespace common{
+namespace concept{
+
+    template<typename B>
+    class Cdf : public B{
+        typedef typename B::distribution_type   d_;
+        typedef typename B::variable_type       x_;
+        typedef typename B::probability_type    p_;
+
+        public:
+    
+        BOOST_CONCEPT_USAGE(Cdf){
+            p =  boost::statistics::detail::cdf(d,x);
+        }
+
+        private:
+        d_ d;
+        x_ x;
+        p_ p;
+        
+    };
+
+}// concept
+}// common
+}// distribution
+
+}// statistics
+}// detail
+}// boost
+
+#endif
\ No newline at end of file
Added: sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/derivative_log_unnormalized_pdf.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/derivative_log_unnormalized_pdf.hpp	2009-10-02 13:46:16 EDT (Fri, 02 Oct 2009)
@@ -0,0 +1,51 @@
+//////////////////////////////////////////////////////////////////////////////////////////////
+// distribution::common::concept::concept::unary::derivative_log_unnormalized_pdf.hpp       //
+//                                                                                          //
+//  (C) Copyright 2009 Erwann Rogard                                                        //
+//  Use, modification and distribution are subject to 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)                        //
+//////////////////////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_UNARY_DERIVATIVE_LOG_UNNORMALIZED_PDF_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_UNARY_DERIVATIVE_LOG_UNNORMALIZED_PDF_HPP_ER_2009
+#include <boost/concept_check.hpp>
+
+namespace boost{
+namespace statistics{
+namespace detail{
+namespace distribution{
+namespace common{
+namespace concept{
+
+    template<typename B>
+    class DerivativeLogUnnormalizedPdf : public B{
+        typedef typename B::distribution_type   d_;
+        typedef typename B::variable_type       x_;
+        typedef typename B::probability_type    p_;
+
+        public:
+    
+        BOOST_CONCEPT_USAGE(DerivativeLogUnnormalizedPdf){
+            val = boost::statistics::detail::derivative_log_unnormalized_pdf(
+                d,
+                x
+            );
+        }
+
+        private:
+        typedef typename meta::value<d_>::type value_;
+        d_ d;
+        value_ val;
+        x_ x;
+        
+    };
+
+}// concept
+}// common
+}// distribution
+
+}// statistics
+}// detail
+}// boost
+
+#endif
\ No newline at end of file
Added: sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/log_unnormalized_pdf.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/log_unnormalized_pdf.hpp	2009-10-02 13:46:16 EDT (Fri, 02 Oct 2009)
@@ -0,0 +1,47 @@
+///////////////////////////////////////////////////////////////////////////////////
+// distribution::common::concept::concept::unary::log_unnormalized_pdf.hpp       //
+//                                                                               //
+//  (C) Copyright 2009 Erwann Rogard                                             //
+//  Use, modification and distribution are subject to 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)             //
+///////////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_UNARY_LOG_UNNORMALIZED_PDF_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_UNARY_LOG_UNNORMALIZED_PDF_HPP_ER_2009
+#include <boost/concept_check.hpp>
+
+namespace boost{
+namespace statistics{
+namespace detail{
+namespace distribution{
+namespace common{
+namespace concept{
+
+    template<typename B>
+    class LogUnnormalizedPdf : public B{
+        typedef typename B::distribution_type   d_;
+        typedef typename B::variable_type       x_;
+        typedef typename B::probability_type    p_;
+
+        public:
+
+        BOOST_CONCEPT_USAGE(LogUnnormalizedPdf){
+            p =  boost::statistics::detail::log_unnormalized_pdf(d,x);
+        }
+
+        private:
+        d_ d;
+        p_ p;
+        x_ x;
+        
+    };
+
+}// concept
+}// common
+}// distribution
+
+}// statistics
+}// detail
+}// boost
+
+#endif
\ No newline at end of file
Added: sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/mean.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/mean.hpp	2009-10-02 13:46:16 EDT (Fri, 02 Oct 2009)
@@ -0,0 +1,44 @@
+//////////////////////////////////////////////////////////////////////////////////
+// distribution::common::concept::concept::unary::mean.hpp                      //
+//                                                                              //
+//  (C) Copyright 2009 Erwann Rogard                                            //
+//  Use, modification and distribution are subject to 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)            //
+//////////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_UNARY_MEAN_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_UNARY_MEAN_HPP_ER_2009
+#include <boost/concept_check.hpp>
+
+namespace boost{
+namespace statistics{
+namespace detail{
+namespace distribution{
+namespace common{
+namespace concept{
+
+    template<typename B>
+    class Mean : public B{
+        typedef typename B::distribution_type   d_;
+        typedef typename B::probability_type    p_;
+
+        public:
+    
+        BOOST_CONCEPT_USAGE(Mean){
+            p =  boost::statistics::detail::mean(d);
+        }
+
+        private:
+        d_ d;
+        p_ p;
+    };
+
+}// concept
+}// common
+}// distribution
+
+}// statistics
+}// detail
+}// boost
+
+#endif
Added: sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/normalizing_constant.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/normalizing_constant.hpp	2009-10-02 13:46:16 EDT (Fri, 02 Oct 2009)
@@ -0,0 +1,45 @@
+///////////////////////////////////////////////////////////////////////////////////
+// distribution::common::concept::concept::unary::normalizing_constant.hpp       //
+//                                                                               //
+//  (C) Copyright 2009 Erwann Rogard                                             //
+//  Use, modification and distribution are subject to 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)             //
+///////////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_UNARY_NORMALIZING_CONSTANT_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_UNARY_NORMALIZING_CONSTANT_HPP_ER_2009
+#include <boost/concept_check.hpp>
+
+namespace boost{
+namespace statistics{
+namespace detail{
+namespace distribution{
+namespace common{
+namespace concept{
+
+    template<typename B>
+    class NormalizingConstant : public B{
+        typedef typename B::distribution_type   d_;
+        typedef typename B::probability_type    p_;
+
+        public:
+    
+        BOOST_CONCEPT_USAGE(NormalizingConstant){
+            p =  boost::statistics::detail::normalizing_constant(d);
+        }
+
+        private:
+        d_ d;
+        p_ p;
+        
+    };
+
+}// concept
+}// common
+}// distribution
+
+}// statistics
+}// detail
+}// boost
+
+#endif
\ No newline at end of file
Added: sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/pdf.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/pdf.hpp	2009-10-02 13:46:16 EDT (Fri, 02 Oct 2009)
@@ -0,0 +1,48 @@
+//////////////////////////////////////////////////////////////////////////////////
+// distribution::common::concept::concept::unary::pdf.hpp                       //
+//                                                                              //
+//  (C) Copyright 2009 Erwann Rogard                                            //
+//  Use, modification and distribution are subject to 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)            //
+//////////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_UNARY_PDF_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_UNARY_PDF_HPP_ER_2009
+#include <boost/concept_check.hpp>
+
+namespace boost{
+namespace statistics{
+namespace detail{
+namespace distribution{
+namespace common{
+namespace concept{
+
+    template<typename B>
+    class Pdf : public B{
+        typedef typename B::distribution_type   d_;
+        typedef typename B::variable_type       x_;
+        typedef typename B::probability_type    p_;
+
+        public:
+    
+        BOOST_CONCEPT_USAGE(Pdf){
+            p =  boost::statistics::detail::pdf(d,x);
+        }
+
+        private:
+        typedef typename meta::value<d_>::type value_;
+        d_ d;
+        p_ p;
+        x_ x;
+        
+    };
+
+}// concept
+}// common
+}// distribution
+
+}// statistics
+}// detail
+}// boost
+
+#endif
\ No newline at end of file
Added: sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/quantile.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/quantile.hpp	2009-10-02 13:46:16 EDT (Fri, 02 Oct 2009)
@@ -0,0 +1,47 @@
+//////////////////////////////////////////////////////////////////////////////////
+// distribution::common::concept::concept::unary::quantile.hpp                  //
+//                                                                              //
+//  (C) Copyright 2009 Erwann Rogard                                            //
+//  Use, modification and distribution are subject to 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)            //
+//////////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_UNARY_QUANTILE_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_UNARY_QUANTILE_HPP_ER_2009
+#include <boost/concept_check.hpp>
+
+namespace boost{
+namespace statistics{
+namespace detail{
+namespace distribution{
+namespace common{
+namespace concept{
+
+    template<typename B>
+    class Quantile : public B{
+        typedef typename B::distribution_type   d_;
+        typedef typename B::variable_type       x_;
+        typedef typename B::probability_type    p_;
+
+        public:
+    
+        BOOST_CONCEPT_USAGE(Quantile){
+            x = boost::statistics::detail::quantile(d,p);
+        }
+
+        private:
+        d_ d;
+        x_ x;
+        p_ p;
+        
+    };
+
+}// concept
+}// common
+}// distribution
+
+}// statistics
+}// detail
+}// boost
+
+#endif
\ No newline at end of file
Added: sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/variance.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/concept/unary/variance.hpp	2009-10-02 13:46:16 EDT (Fri, 02 Oct 2009)
@@ -0,0 +1,44 @@
+//////////////////////////////////////////////////////////////////////////////////
+// distribution::common::concept::concept::unary::variance.hpp                  //
+//                                                                              //
+//  (C) Copyright 2009 Erwann Rogard                                            //
+//  Use, modification and distribution are subject to 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)            //
+//////////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_UNARY_VARIANCE_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_CONCEPT_UNARY_VARIANCE_HPP_ER_2009
+#include <boost/concept_check.hpp>
+
+namespace boost{
+namespace statistics{
+namespace detail{
+namespace distribution{
+namespace common{
+namespace concept{
+
+    template<typename B>
+    class Variance : public B{
+        typedef typename B::distribution_type   d_;
+        typedef typename B::probability_type    p_;
+
+        public:
+    
+        BOOST_CONCEPT_USAGE(Variance){
+            p =  boost::statistics::detail::variance(d);
+        }
+
+        private:
+        d_ d;
+        p_ p;
+    };
+
+}// concept
+}// common
+}// distribution
+
+}// statistics
+}// detail
+}// boost
+
+#endif
\ No newline at end of file
Added: sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/inherit_policy.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/inherit_policy.hpp	2009-10-02 13:46:16 EDT (Fri, 02 Oct 2009)
@@ -0,0 +1,41 @@
+///////////////////////////////////////////////////////////////////////////////
+// distribution::common::meta::inherit_policy.hpp                            //
+//                                                                           //
+//  Copyright 2009 Erwann Rogard. 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)         //
+///////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_META_INHERIT_POLICY_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_META_INHERIT_POLICY_HPP_ER_2009
+#include <boost/mpl/assert.hpp>
+#include <boost/mpl/not.hpp>
+#include <boost/type_traits.hpp>
+#include <boost/mpl/empty_base.hpp>
+#include <boost/statistics/detail/distribution_common/meta/policy.hpp>
+
+namespace boost{
+namespace statistics{
+namespace detail{
+namespace distribution{
+namespace common{
+namespace meta{
+
+    template<typename D,typename B = mpl::empty_base>
+    struct inherit_policy : B{
+        BOOST_MPL_ASSERT((
+            mpl::not_<
+                is_reference<D>
+            >
+        ));
+        typedef typename meta::policy<D>::type policy_type;
+    };
+
+}// meta
+}// common
+}// distribution
+
+}// detail
+}// statistics
+}// boost
+
+#endif
Added: sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/inherit_value.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/inherit_value.hpp	2009-10-02 13:46:16 EDT (Fri, 02 Oct 2009)
@@ -0,0 +1,43 @@
+///////////////////////////////////////////////////////////////////////////////
+// distribution::common::meta::inherit_value.hpp                             //
+//                                                                           //
+//  Copyright 2009 Erwann Rogard. 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)         //
+///////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_META_INHERIT_VALUE_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_META_INHERIT_VALUE_HPP_ER_2009
+#include <boost/mpl/assert.hpp>
+#include <boost/mpl/not.hpp>
+#include <boost/type_traits.hpp>
+#include <boost/mpl/empty_base.hpp>
+#include <boost/statistics/detail/distribution_common/meta/value.hpp>
+
+namespace boost{
+namespace statistics{
+namespace detail{
+namespace distribution{
+namespace common{
+namespace meta{
+
+    template<typename D,typename B = mpl::empty_base>
+    struct inherit_value : B{
+        BOOST_MPL_ASSERT((
+            mpl::not_<
+                is_reference<D>
+            >
+        ));
+
+        typedef typename value<D>::type value_type;
+        
+    };
+
+}// meta
+}// common
+}// distribution
+
+}// detail
+}// statistics
+}// boost
+
+#endif
Added: sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/policy.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/policy.hpp	2009-10-02 13:46:16 EDT (Fri, 02 Oct 2009)
@@ -0,0 +1,33 @@
+//////////////////////////////////////////////////////////////////////////////
+// distribution::common::meta::policy.hpp                                   //
+//                                                                          //
+//  (C) Copyright 2009 Erwann Rogard                                        //
+//  Use, modification and distribution are subject to 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)        //
+//////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_META_POLICY_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_META_POLICY_HPP_ER_2009
+
+namespace boost{
+namespace statistics{
+namespace detail{
+namespace distribution{
+namespace common{
+namespace meta{
+
+    template<typename D>
+    struct policy{
+        typedef typename D::policy_type type;
+    };
+    
+}// meta
+}// common
+}// distribution
+
+}// detail
+}// statistics
+}// boost
+
+
+#endif
\ No newline at end of file
Added: sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/value.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/value.hpp	2009-10-02 13:46:16 EDT (Fri, 02 Oct 2009)
@@ -0,0 +1,33 @@
+//////////////////////////////////////////////////////////////////////////////
+// distribution::common::meta::value.hpp                                    //
+//                                                                          //
+//  (C) Copyright 2009 Erwann Rogard                                        //
+//  Use, modification and distribution are subject to 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)        //
+//////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_META_VALUE_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_META_VALUE_HPP_ER_2009
+
+namespace boost{
+namespace statistics{
+namespace detail{
+namespace distribution{
+namespace common{
+namespace meta{
+
+    template<typename D>
+    struct value{
+        typedef typename D::value_type type;
+    };
+    
+}// meta
+}// common
+}// distribution
+
+}// detail
+}// statistics
+}// boost
+
+#endif
+
Added: sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/wrapper_distribution.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/wrapper_distribution.hpp	2009-10-02 13:46:16 EDT (Fri, 02 Oct 2009)
@@ -0,0 +1,33 @@
+//////////////////////////////////////////////////////////////////////////////
+// distribution::common::meta::wrapper_distribution.hpp                     //
+//                                                                          //
+//  (C) Copyright 2009 Erwann Rogard                                        //
+//  Use, modification and distribution are subject to 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)        //
+//////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_META_WRAPPER_DISTRIBUTION_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_META_WRAPPER_DISTRIBUTION_HPP_ER_2009
+#include <boost/mpl/empty_base.hpp>
+
+namespace boost{
+namespace statistics{
+namespace detail{
+namespace distribution{
+namespace common{
+namespace meta{
+
+    template<typename D,typename B = mpl::empty_base>
+    struct wrapper_distribution : B{
+        typedef D distribution_type;
+    };
+    
+}// meta
+}// common
+}// distribution
+
+}// detail
+}// statistics
+}// boost
+
+#endif
Added: sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/wrapper_probability.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/wrapper_probability.hpp	2009-10-02 13:46:16 EDT (Fri, 02 Oct 2009)
@@ -0,0 +1,33 @@
+//////////////////////////////////////////////////////////////////////////////
+// distribution::common::meta::wrapper_probability.hpp                      //
+//                                                                          //
+//  (C) Copyright 2009 Erwann Rogard                                        //
+//  Use, modification and distribution are subject to 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)        //
+//////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_META_WRAPPER_PROBABILITY_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_META_WRAPPER_PROBABILITY_HPP_ER_2009
+#include <boost/mpl/empty_base.hpp>
+
+namespace boost{
+namespace statistics{
+namespace detail{
+namespace distribution{
+namespace common{
+namespace meta{
+
+    template<typename P,typename B = mpl::empty_base>
+    struct wrapper_probability : B{
+        typedef P probability_type;
+    };
+    
+}// meta
+}// common
+}// distribution
+
+}// detail
+}// statistics
+}// boost
+
+#endif
\ No newline at end of file
Added: sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/wrapper_variable.hpp
==============================================================================
--- (empty file)
+++ sandbox/statistics/distribution_common/boost/statistics/detail/distribution_common/meta/wrapper_variable.hpp	2009-10-02 13:46:16 EDT (Fri, 02 Oct 2009)
@@ -0,0 +1,33 @@
+//////////////////////////////////////////////////////////////////////////////
+// distribution::common::meta::wrapper_variable.hpp                         //
+//                                                                          //
+//  (C) Copyright 2009 Erwann Rogard                                        //
+//  Use, modification and distribution are subject to 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)        //
+//////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_META_WRAPPER_INPUT_HPP_ER_2009
+#define BOOST_STATISTICS_DETAIL_DISTRIBUTION_COMMON_META_WRAPPER_INPUT_HPP_ER_2009
+#include <boost/mpl/empty_base.hpp>
+
+namespace boost{
+namespace statistics{
+namespace detail{
+namespace distribution{
+namespace common{
+namespace meta{
+
+    template<typename X,typename B = mpl::empty_base>
+    struct wrapper_variable : B{
+        typedef X variable_type;
+    };
+    
+}// meta
+}// common
+}// distribution
+
+}// detail
+}// statistics
+}// boost
+
+#endif
\ No newline at end of file