Chris@16
|
1 // (C) Copyright Gennadiy Rozental 2005-2008.
|
Chris@16
|
2 // Distributed under the Boost Software License, Version 1.0.
|
Chris@16
|
3 // (See accompanying file LICENSE_1_0.txt or copy at
|
Chris@16
|
4 // 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 : abstract interface for the formal parameter
|
Chris@16
|
13 // ***************************************************************************
|
Chris@16
|
14
|
Chris@16
|
15 #ifndef BOOST_RT_CONFIGURATION_HPP_062604GER
|
Chris@16
|
16 #define BOOST_RT_CONFIGURATION_HPP_062604GER
|
Chris@16
|
17
|
Chris@16
|
18 // Boost.Runtime.Parameter
|
Chris@16
|
19 #include <boost/test/utils/runtime/config.hpp>
|
Chris@16
|
20 #include <boost/test/utils/runtime/parameter.hpp>
|
Chris@16
|
21 #include <boost/test/utils/runtime/argument.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 // ************************************************************************** //
|
Chris@16
|
28 // ************** runtime::configuration ************** //
|
Chris@16
|
29 // ************************************************************************** //
|
Chris@16
|
30
|
Chris@16
|
31 class config_source {
|
Chris@16
|
32 virtual parameter const& config_param_begin() const = 0;
|
Chris@16
|
33 virtual parameter const& config_param_end() const = 0;
|
Chris@16
|
34
|
Chris@16
|
35 protected:
|
Chris@16
|
36 config_source() {}
|
Chris@16
|
37 ~config_source() {}
|
Chris@16
|
38 };
|
Chris@16
|
39
|
Chris@16
|
40 // ************************************************************************** //
|
Chris@16
|
41 // ************** runtime::configuration ************** //
|
Chris@16
|
42 // ************************************************************************** //
|
Chris@16
|
43
|
Chris@16
|
44 template<typename StoragePolicy,typename IdentificationPlicy,typename ConflictResolutionPolicy>
|
Chris@16
|
45 class configuration : public StoragePolicy, public IdentificationPlicy, public ConflictResolutionPolicy {
|
Chris@16
|
46 public:
|
Chris@16
|
47 // Constructor
|
Chris@16
|
48 configuration();
|
Chris@16
|
49
|
Chris@16
|
50 void use( config_source const& )
|
Chris@16
|
51 {
|
Chris@16
|
52
|
Chris@16
|
53 }
|
Chris@16
|
54 private:
|
Chris@16
|
55 };
|
Chris@16
|
56
|
Chris@16
|
57 } // namespace BOOST_RT_PARAM_NAMESPACE
|
Chris@16
|
58
|
Chris@16
|
59 } // namespace boost
|
Chris@16
|
60
|
Chris@16
|
61 #endif // BOOST_RT_CONFIGURATION_HPP_062604GER
|