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