$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r61742 - in sandbox/itl: boost/validate/driver libs/validate/doc/boostcon2010
From: afojgo_at_[hidden]
Date: 2010-05-03 06:39:45
Author: jofaber
Date: 2010-05-03 06:39:44 EDT (Mon, 03 May 2010)
New Revision: 61742
URL: http://svn.boost.org/trac/boost/changeset/61742
Log:
Modified presentation Boost.Alabaster. Added example driver.
Added:
   sandbox/itl/boost/validate/driver/abelian_monoid_driver.hpp   (contents, props changed)
Binary files modified: 
   sandbox/itl/libs/validate/doc/boostcon2010/BoostAlabaster.pptx
Added: sandbox/itl/boost/validate/driver/abelian_monoid_driver.hpp
==============================================================================
--- (empty file)
+++ sandbox/itl/boost/validate/driver/abelian_monoid_driver.hpp	2010-05-03 06:39:44 EDT (Mon, 03 May 2010)
@@ -0,0 +1,95 @@
+/*-----------------------------------------------------------------------------+    
+A Law Based Test Automaton 'LaBatea'
+Author: Joachim Faulhaber
+Copyright (c) 2007-2010: Joachim Faulhaber
++------------------------------------------------------------------------------+
+   Distributed under the Boost Software License, Version 1.0.
+      (See accompanying file LICENCE.txt or copy at
+           http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
+#ifndef BOOST_VALIDATE_DRIVER_ABELIAN_MONOID_DRIVER_HPP_JOFA_100502
+#define BOOST_VALIDATE_DRIVER_ABELIAN_MONOID_DRIVER_HPP_JOFA_100502
+
+#include <iostream>
+#include <stdio.h>
+#include <boost/validate/validater/abelian_monoid_validater.hpp>
+#include <boost/validate/driver/itl_driver.hpp>
+#include <boost/validate/utility.hpp>
+
+namespace boost{namespace itl
+{
+    class abelian_monoid_driver : public itl_driver
+    {
+    public:
+        abelian_monoid_driver() { setProfile(); }
+
+        void setProfile()
+        {
+            setValid(true);
+            _rootChoice.setSize(RootType::Types_size);
+            _rootChoice.setMaxWeights(100);
+            _rootChoice[RootType::itl_set]               = 33;
+            _rootChoice[RootType::interval_set]          = 33;
+            _rootChoice[RootType::split_interval_set]    = 34;
+            setRootTypeNames();
+            _rootChoice.init();
+
+            _domainChoice.setSize(DomainType::DomainTypes_size);
+            _domainChoice.setMaxWeights(100);
+            _domainChoice[DomainType::Int]               = 50;
+            _domainChoice[DomainType::Double]            = 50;
+            setDomainTypeNames();
+            _domainChoice.init();
+
+            if(!_rootChoice.is_consistent())
+            {
+                setValid(false);
+                std::cout << _rootChoice.inconsitencyMessage("abelian_monoid_driver::setProfile()") << std::endl;
+            }
+
+            if(!_domainChoice.is_consistent())
+            {
+                setValid(false);
+                std::cout << _domainChoice.inconsitencyMessage("abelian_monoid_driver::setProfile()") << std::endl;
+            }
+        }
+
+        concept_validater* chooseValidater()
+        {
+            int rootChoice   = _rootChoice.some();
+            int domainChoice = _domainChoice.some();
+
+            switch(rootChoice)
+            {
+            case RootType::itl_set: {
+                    switch(domainChoice) {
+                    case DomainType::Int:    return new abelian_monoid_validater<itl::set<int> >; 
+                    case DomainType::Double: return new abelian_monoid_validater<itl::set<double> >; 
+                    default: return choiceError(ITL_LOCATION("\nRootType::itl_set: domainChoice:\n"), 
+                                                domainChoice, _domainChoice);
+                    }
+                }
+            case RootType::interval_set: {
+                    switch(domainChoice) {
+                    case DomainType::Int:    return new abelian_monoid_validater<interval_set<int> >;
+                    case DomainType::Double: return new abelian_monoid_validater<interval_set<double> >;
+                    default: return choiceError(ITL_LOCATION("\nRootType::interval_set: domainChoice:\n"), 
+                                                domainChoice, _domainChoice);
+                    }
+                }
+            case RootType::split_interval_set: {
+                    switch(domainChoice) {
+                    case DomainType::Int:    return new abelian_monoid_validater<split_interval_set<int> >;
+                    case DomainType::Double: return new abelian_monoid_validater<split_interval_set<double> >;
+                    default: return choiceError(ITL_LOCATION("\nRootType::split_interval_set: domainChoice:\n"), 
+                                                domainChoice, _domainChoice);
+                    }
+                }
+            default: return choiceError(ITL_LOCATION("rootChoice:\n"), rootChoice, _rootChoice);
+            } //switch()
+        }
+    };
+
+}} // namespace itl boost
+
+#endif // BOOST_VALIDATE_DRIVER_ABELIAN_MONOID_DRIVER_HPP_JOFA_100502
Modified: sandbox/itl/libs/validate/doc/boostcon2010/BoostAlabaster.pptx
==============================================================================
Binary files. No diff available.