OSDN Git Service

operator/operator_adapter.hpp: single_value_adapter を virtual _get_value_ref() =0...
authormyun2 <myun2@nwhite.info>
Wed, 6 Jun 2012 10:27:08 +0000 (19:27 +0900)
committermyun2 <myun2@nwhite.info>
Wed, 6 Jun 2012 10:27:08 +0000 (19:27 +0900)
roast/include/roast/adapter/operator/operator_adapter.hpp

index 9036e4c..a2c99dd 100644 (file)
@@ -34,8 +34,18 @@ namespace roast
                        single_value_adapter_facade(const single_value_adapter_facade& from) : _Impl(value_ref), _Adapter(value_ref){}
                };
 
-               /////////////////
+               //////////////////////////////////////////////////////////
 
+               template <typename _ValueType, typename _Adapter>
+               class single_value_adapter : public _Adapter
+               {
+               protected:
+                       virtual _ValueType& _get_value_ref() =0;
+                       virtual const _ValueType& _get_value_ref() const =0;
+               public:
+                       single_value_adapter() : _Adapter(_get_value_ref()){}
+               };
+               /*
                template <typename _Impl, typename _Adapter>
                class single_value_adapter : public _Impl, _Adapter
                {
@@ -44,7 +54,7 @@ namespace roast
                public:
                        single_value_adapter(const value_type& value) : _Impl(value_ref){}
                        single_value_adapter(const single_value_adapter& from) : _Base(value_ref){ value = from.m_value; }
-               };
+               };*/
                
                /////////////////////////////////////////////////////////////////////////
        }