1 //  (C) Copyright Gennadiy Rozental 2005-2008.
2 //  Use, modification, and distribution are subject to the
3 //  Boost Software License, Version 1.0. (See accompanying file
4 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 
6 //  See http://www.boost.org/libs/test for the library home page.
7 //
8 //  File        : $RCSfile$
9 //
10 //  Version     : $Revision: 49312 $
11 //
12 //  Description : specific value handlers
13 // ***************************************************************************
14 
15 #ifndef BOOST_RT_CLA_VALUE_HANDLER_HPP_062604GER
16 #define BOOST_RT_CLA_VALUE_HANDLER_HPP_062604GER
17 
18 // Boost.Runtime.Parameter
19 #include <boost/test/utils/runtime/config.hpp>
20 
21 #include <boost/test/utils/runtime/cla/fwd.hpp>
22 
23 namespace boost {
24 
25 namespace BOOST_RT_PARAM_NAMESPACE {
26 
27 namespace cla {
28 
29 namespace rt_cla_detail {
30 
31 // ************************************************************************** //
32 // **************            runtime::cla::assigner            ************** //
33 // ************************************************************************** //
34 
35 template<typename T>
36 class assigner {
37 public:
38     // Constructor
assigner(T & loc)39     explicit    assigner( T& loc ) : m_target( loc )    {}
40 
41     // value handler implementation
operator ()(parameter const &,T & t)42     void        operator()( parameter const&, T& t )  { m_target = t; }
43 
44 private:
45     // Data members
46     T&          m_target;
47 };
48 
49 } // namespace rt_cla_detail
50 
51 } // namespace cla
52 
53 } // namespace BOOST_RT_PARAM_NAMESPACE
54 
55 } // namespace boost
56 
57 #endif // BOOST_RT_CLA_VALUE_HANDLER_HPP_062604GER
58