OSDN Git Service

うーん…
authormyun2 <myun2@nwhite.info>
Wed, 6 Jun 2012 08:36:56 +0000 (17:36 +0900)
committermyun2 <myun2@nwhite.info>
Wed, 6 Jun 2012 08:46:39 +0000 (17:46 +0900)
roast/include/roast/adapter/operator/operator_adapter.hpp

index d5a8b48..412ad60 100644 (file)
@@ -24,18 +24,15 @@ namespace roast
        {
                /////////////////////////////////////////////////////////////////////////
                
-               /*template <typename _ValueType, typename _Base>
-               class value_adapter_facade : public _Base1, _Base2, _Base3, _Base4, _Base5
+               template <typename _Impl, typename _Adapter>
+               class single_value_adapter_facade : public _Impl, _Adapter
                {
+               private:
+                       typedef typename _Impl::value_type value_type, _ValueType;
                public:
-                       value_adapter_facade(_ValueType& value_ref):
-                               _Base1(value_ref), _Base2(value_ref), _Base3(value_ref), _Base4(value_ref), _Base5(value_ref)
-                               {}
-                               
-                       value_adapter_facade(const single_value_adapter& from) :
-                               _Base1(value_ref), _Base2(value_ref), _Base3(value_ref), _Base4(value_ref), _Base5(value_ref)
-                               { value = from.m_value; }
-               };*/
+                       single_value_adapter_facade(const value_type& value) : _Impl(value_ref){}
+                       single_value_adapter_facade(const single_value_adapter& from) : _Base(value_ref){ value = from.m_value; }
+               };
                
                /////////////////////////////////////////////////////////////////////////
        }