3912c7e5c2c34a17096da260fee23a9549de0611
[platform/upstream/libzypp.git] / zypp / solver / Context.h
1 /*---------------------------------------------------------------------\
2 |                          ____ _   __ __ ___                          |
3 |                         |__  / \ / / . \ . \                         |
4 |                           / / \ V /|  _/  _/                         |
5 |                          / /__ | | | | | |                           |
6 |                         /_____||_| |_| |_|                           |
7 |                                                                      |
8 \---------------------------------------------------------------------*/
9 /** \file       zypp/solver/Context.h
10  *
11 */
12 #ifndef ZYPP_SOLVER_CONTEXT_H
13 #define ZYPP_SOLVER_CONTEXT_H
14
15 #include <iosfwd>
16
17 #include "zypp/base/ReferenceCounted.h"
18 #include "zypp/base/NonCopyable.h"
19 #include "zypp/base/PtrTypes.h"
20
21 #include "zypp/solver/SolverFwd.h"
22
23 ///////////////////////////////////////////////////////////////////
24 namespace zypp
25 { /////////////////////////////////////////////////////////////////
26   ///////////////////////////////////////////////////////////////////
27   namespace solver
28   { /////////////////////////////////////////////////////////////////
29
30     ///////////////////////////////////////////////////////////////////
31     //
32     //  CLASS NAME : Context
33     //
34     /** Solver context.
35     */
36     class Context : public base::ReferenceCounted, private base::NonCopyable
37     {
38     public:
39       typedef Context            Self;
40       typedef Context_Ptr        Ptr;
41       typedef Context_constPtr   constPtr;
42       friend std::ostream & operator<<( std::ostream & str, const Context & obj );
43
44     public:
45       /** Default ctor */
46       Context();
47       /** Dtor */
48       ~Context();
49     };
50     ///////////////////////////////////////////////////////////////////
51
52     /** \relates Context Stream output */
53     extern std::ostream & operator<<( std::ostream & str, const Context & obj );
54
55     /////////////////////////////////////////////////////////////////
56   } // namespace solver
57   ///////////////////////////////////////////////////////////////////
58   /////////////////////////////////////////////////////////////////
59 } // namespace zypp
60 ///////////////////////////////////////////////////////////////////
61 #endif // ZYPP_SOLVER_CONTEXT_H