~ubuntu-branches/ubuntu/wily/bombono-dvd/wily

« back to all changes in this revision

Viewing changes to libs/boost-lib/boost/test/utils/runtime/cla/iface/argument_factory.hpp

  • Committer: Bazaar Package Importer
  • Author(s): Alessio Treglia
  • Date: 2010-11-04 11:46:25 UTC
  • mto: This revision was merged to the branch mainline in revision 8.
  • Revision ID: james.westby@ubuntu.com-20101104114625-8xfdhvhpsm51i0nu
Tags: upstream-0.8.0
ImportĀ upstreamĀ versionĀ 0.8.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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: 54633 $
 
11
//
 
12
//  Description : defines interface for argument_factory
 
13
// ***************************************************************************
 
14
 
 
15
#ifndef BOOST_RT_CLA_IFACE_ARGUMENT_FACTORY_HPP_062604GER
 
16
#define BOOST_RT_CLA_IFACE_ARGUMENT_FACTORY_HPP_062604GER
 
17
 
 
18
// Boost.Runtime.Parameter
 
19
#include <boost/test/utils/runtime/config.hpp>
 
20
#include <boost/test/utils/runtime/fwd.hpp>
 
21
 
 
22
#include <boost/test/utils/runtime/cla/fwd.hpp>
 
23
 
 
24
namespace boost {
 
25
 
 
26
namespace BOOST_RT_PARAM_NAMESPACE {
 
27
 
 
28
namespace cla {
 
29
 
 
30
// ************************************************************************** //
 
31
// **************                argument_factory              ************** //
 
32
// ************************************************************************** //
 
33
// another name can be argument production policy
 
34
 
 
35
class argument_factory {
 
36
public:
 
37
    // Argument factory interface
 
38
    virtual argument_ptr produce_using( parameter& p, argv_traverser& tr ) = 0;  /// produce argument based on input
 
39
    virtual argument_ptr produce_using( parameter& p, parser const& )      = 0;  /// produce argument based on internal generator and/or values of other parameters
 
40
    virtual void         argument_usage_info( format_stream& fs )          = 0;  /// argument value format information
 
41
protected:
 
42
    BOOST_TEST_PROTECTED_VIRTUAL ~argument_factory() {}
 
43
};
 
44
 
 
45
} // namespace boost
 
46
 
 
47
} // namespace BOOST_RT_PARAM_NAMESPACE
 
48
 
 
49
} // namespace cla
 
50
 
 
51
#endif // BOOST_RT_CLA_IFACE_ARGUMENT_FACTORY_HPP_062604GER