Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r69832 - sandbox/assign_v2/boost/assign/v2/put/frame
From: erwann.rogard_at_[hidden]
Date: 2011-03-10 17:21:00


Author: e_r
Date: 2011-03-10 17:20:59 EST (Thu, 10 Mar 2011)
New Revision: 69832
URL: http://svn.boost.org/trac/boost/changeset/69832

Log:
upd assign_v2
Added:
   sandbox/assign_v2/boost/assign/v2/put/frame/as_arg_list.hpp (contents, props changed)

Added: sandbox/assign_v2/boost/assign/v2/put/frame/as_arg_list.hpp
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/boost/assign/v2/put/frame/as_arg_list.hpp 2011-03-10 17:20:59 EST (Thu, 10 Mar 2011)
@@ -0,0 +1,79 @@
+//////////////////////////////////////////////////////////////////////////////
+// Boost.Assign v2 //
+// //
+// Copyright (C) 2003-2004 Thorsten Ottosen //
+// Copyright (C) 2010 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_ASSIGN_V2_PUT_FRAME_AS_ARG_LIST_ER_2010_HPP
+#define BOOST_ASSIGN_V2_PUT_FRAME_AS_ARG_LIST_ER_2010_HPP
+#include <boost/range/iterator.hpp>
+#include <boost/range/iterator_range.hpp>
+
+namespace boost{
+namespace assign{
+namespace v2{
+namespace put_aux{
+
+ template<typename R>
+ class as_arg_list_adapter
+ {
+
+ typedef typename boost::range_iterator<R>::type ri_;
+ typedef boost::iterator_range<ri_> ir_;
+
+ public:
+
+ as_arg_list_adapter(R& range):ir(
+ boost::make_iterator_range( range )
+ ){}
+
+ typedef ir_ result_type;
+
+ result_type operator()()const{ return this->ir; }
+
+ private:
+ as_arg_list_adapter();
+ ir_ ir;
+ };
+
+namespace result_of{
+
+ template<typename R>
+ struct as_arg_list{
+ typedef as_arg_list_adapter<R> type;
+ };
+
+}// result_of
+
+ template<typename R>
+ typename result_of::as_arg_list<R>::type
+ as_arg_list(R& range)
+ {
+ return typename result_of::as_arg_list<R>::type( range );
+ }
+
+ template<typename R>
+ typename result_of::as_arg_list<R const>::type
+ as_arg_list(R const& range)
+ {
+ return typename result_of::as_arg_list<R const>::type( range );
+ }
+
+}// put_aux
+ using put_aux::as_arg_list;
+namespace result_of{
+
+ template<typename R>
+ struct as_arg_list
+ : put_aux::result_of::as_arg_list<R>
+ {};
+
+}// result_of
+}// v2
+}// assign
+}// boost
+
+#endif // BOOST_ASSIGN_V2_PUT_FRAME_AS_ARG_LIST_ER_2010_HPP


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