source: NonGTP/Boost/boost/test/utils/runtime/cla/iface/argument_factory.hpp @ 857

Revision 857, 2.1 KB checked in by igarcia, 19 years ago (diff)
Line 
1//  (C) Copyright Gennadiy Rozental 2005.
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: argument_factory.hpp,v $
9//
10//  Version     : $Revision: 1.1 $
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
24namespace boost {
25
26namespace BOOST_RT_PARAM_NAMESPACE {
27
28namespace cla {
29
30// ************************************************************************** //
31// **************                argument_factory              ************** //
32// ************************************************************************** //
33// another name could be argument production policy
34
35class argument_factory {
36public:
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};
42
43} // namespace boost
44
45} // namespace BOOST_RT_PARAM_NAMESPACE
46
47} // namespace cla
48
49// ************************************************************************** //
50//   Revision History:
51//
52//   $Log: argument_factory.hpp,v $
53//   Revision 1.1  2005/04/12 06:42:43  rogeeff
54//   Runtime.Param library initial commit
55//
56// ************************************************************************** //
57
58#endif // BOOST_RT_CLA_IFACE_ARGUMENT_FACTORY_HPP_062604GER
Note: See TracBrowser for help on using the repository browser.