RMOL Logo  1.00.0
C++ library of Revenue Management and Optimisation classes and functions
 All Classes Namespaces Files Functions Variables Typedefs Friends Pages
PolicyHelper.hpp
Go to the documentation of this file.
1 #ifndef __RMOL_BOM_POLICYHELPER_HPP
2 #define __RMOL_BOM_POLICYHELPER_HPP
3 // //////////////////////////////////////////////////////////////////////
4 // Import section
5 // //////////////////////////////////////////////////////////////////////
6 // StdAir
7 #include <stdair/stdair_inventory_types.hpp>
8 #include <stdair/bom/PolicyTypes.hpp>
9 #include <stdair/bom/BookingClassTypes.hpp>
10 #include <stdair/bom/FareFamilyTypes.hpp>
11 // RMOL
12 #include <rmol/RMOL_Types.hpp>
13 
14 // Forward declarations
15 namespace stdair {
16  class SegmentCabin;
17  class Policy;
18  class FareFamily;
19  class BookingClass;
20  class NestingNode;
21 }
22 
23 namespace RMOL {
24 
28  class PolicyHelper {
29  public:
30 
35  static void
36  diffBetweenTwoPolicies (stdair::NestingNode&, const stdair::Policy&,
37  const stdair::Policy&);
38 
42  static void
43  computeLastNode (stdair::NestingNode&, const stdair::Policy&,
44  const stdair::SegmentCabin&);
45 
49  static bool isNested (const stdair::Policy&, const stdair::Policy&);
50 
51 
52  private:
53 
58  static const bool
59  intersectionBetweenPolicyAndBookingClassList (const stdair::BookingClassList_T&,
60  const stdair::Policy&,
61  stdair::ClassCode_T&);
62 
66  static void
67  diffBetweenBookingClassAndPolicy (stdair::NestingNode&,
68  const stdair::FareFamily&,
69  const stdair::ClassCode_T&,
70  const stdair::Policy&);
71 
72  };
73 
74 }
75 
76 #endif // __RMOL_BOM_POLICYHELPER_HPP