Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > 0551a44115f6e0f4237e274e52a253d8 > files > 7

stdair-doc-1.00.1-4.fc18.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
		  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
	<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
	<meta name="robots" content="index,follow"/>
	<title>C++ Class Building Sample StdAir BOM Trees</title>
	<link rel="shortcut icon" href="favicon.ico">
	<link href="tabs.css" rel="stylesheet" type="text/css"/>
	<link href="stdair.css" rel="stylesheet" type="text/css"/>
	<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
	<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-24867310-1']);
	  _gaq.push(['_setDomainName', 'none']);
	  _gaq.push(['_setAllowLinker', true]);
	  _gaq.push(['_trackPageview']);
	  (function() {
      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
  </head>
  <body>
	<div id="top"><!-- do not remove this div! -->
	  <div id="titlearea">
		<table width="100%">
		  <tbody>
			<tr style="height: 56px;">
			  <td style="padding-left: 0.5em;">
				<div id="projectname"><a href="http://stdair.sourceforge.net"><img height="45px" alt="StdAir Logo" src="stdair_logo.png"></a>
				  &#160;<span id="projectnumber">1.00.1</span>
				</div>
				<div id="projectbrief">C++ Standard Airline IT Object Library</div>
			  </td>
			  <!-- begin SOURCEFORGE_CUSTOM-->
			  <td>
				<div id="sflogo"><a href="http://stdair.sourceforge.net"><img height="45px" alt="SourceForge Logo" src="sfx_logo.png"></a></div>
			  </td>
			  <!-- end SOURCEFORGE_CUSTOM-->
			</tr>
		  </tbody>
		</table>
	  </div>
<!-- Generated by Doxygen 1.8.3.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('a00004.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">C++ Class Building Sample StdAir BOM Trees </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div class="fragment"><div class="line"> */</div>
<div class="line"><span class="comment">// //////////////////////////////////////////////////////////////////////</span></div>
<div class="line"><span class="comment">// Import section</span></div>
<div class="line"><span class="comment">// //////////////////////////////////////////////////////////////////////</span></div>
<div class="line"><span class="comment">// STL</span></div>
<div class="line"><span class="preprocessor">#include &lt;cassert&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;sstream&gt;</span></div>
<div class="line"><span class="comment">// StdAir</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00218.html">stdair/basic/BasConst_General.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00216.html">stdair/basic/BasConst_DefaultObject.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00221.html">stdair/basic/BasConst_Request.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00219.html">stdair/basic/BasConst_Inventory.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00309.html">stdair/bom/BomRetriever.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00311.html">stdair/bom/BomRoot.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00374.html">stdair/bom/Inventory.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00278.html">stdair/bom/AirlineFeature.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00362.html">stdair/bom/FlightDate.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00386.html">stdair/bom/LegDate.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00381.html">stdair/bom/LegCabin.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00428.html">stdair/bom/SegmentDate.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00423.html">stdair/bom/SegmentCabin.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00347.html">stdair/bom/FareFamily.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00315.html">stdair/bom/BookingClass.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00285.html">stdair/bom/AirportPair.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00415.html">stdair/bom/PosChannel.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00337.html">stdair/bom/DatePeriod.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00449.html">stdair/bom/TimePeriod.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00352.html">stdair/bom/FareFeatures.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00460.html">stdair/bom/YieldFeatures.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00273.html">stdair/bom/AirlineClassList.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00307.html">stdair/bom/BomManager.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00454.html">stdair/bom/TravelSolutionStruct.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00320.html">stdair/bom/BookingRequestStruct.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00488.html">stdair/factory/FacBomManager.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00486.html">stdair/factory/FacBom.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00472.html">stdair/command/CmdBomManager.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00499.html">stdair/service/Logger.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00398.html">stdair/bom/OnDDate.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00433.html">stdair/bom/SegmentPeriod.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00367.html">stdair/bom/FlightPeriod.hpp</a>&gt;</span></div>
<div class="line"></div>
<div class="line"><span class="keyword">namespace </span>stdair {</div>
<div class="line"></div>
<div class="line">  <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  <span class="keywordtype">void</span> CmdBomManager::buildSampleBom (BomRoot&amp; ioBomRoot) {</div>
<div class="line"></div>
<div class="line">    <span class="comment">// DEBUG</span></div>
<div class="line">    <a class="code" href="a00499.html#a24f87ac1961418818b267ed4d02ff487">STDAIR_LOG_DEBUG</a> (<span class="stringliteral">&quot;StdAir is building the BOM tree from built-in &quot;</span></div>
<div class="line">                      &lt;&lt; <span class="stringliteral">&quot;specifications.&quot;</span>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// ////// Basic Bom Tree ///////</span></div>
<div class="line">    <span class="comment">// Build the inventory (flight-dates) and the schedule (flight period) </span></div>
<div class="line">    <span class="comment">// parts.</span></div>
<div class="line">    buildSampleInventorySchedule (ioBomRoot);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Build the pricing (fare rules) and revenue accounting (yields) parts.</span></div>
<div class="line">    buildSamplePricing (ioBomRoot);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// ////// Partnership Bom Tree ///////    </span></div>
<div class="line">    <span class="comment">// Build the inventory (flight-dates) and the schedule (flight period) </span></div>
<div class="line">    <span class="comment">// parts.</span></div>
<div class="line">    buildPartnershipsSampleInventoryAndRM (ioBomRoot);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Build the pricing (fare rules) and revenue accounting (yields) parts.</span></div>
<div class="line">    buildPartnershipsSamplePricing (ioBomRoot);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Build a dummy inventory, needed by RMOL.</span></div>
<div class="line">    buildCompleteDummyInventory (ioBomRoot);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// ////// Fare Families Bom Tree ///////</span></div>
<div class="line">    <span class="comment">// Build the inventory (flight-dates) and the schedule (flight period) </span></div>
<div class="line">    <span class="comment">// parts with fare families.</span></div>
<div class="line">    buildSampleInventoryScheduleForFareFamilies (ioBomRoot);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Build the pricing (fare rules) and revenue accounting (yields) parts.</span></div>
<div class="line">    buildSamplePricingForFareFamilies (ioBomRoot);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Build a dummy inventory, needed by RMOL.</span></div>
<div class="line">    buildCompleteDummyInventoryForFareFamilies (ioBomRoot);</div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">  <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  <span class="keywordtype">void</span> CmdBomManager::buildSampleInventorySchedule (BomRoot&amp; ioBomRoot) {</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Inventory</span></div>
<div class="line">    <span class="comment">// Step 0.1: Inventory level</span></div>
<div class="line">    <span class="comment">// Create an Inventory for BA</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac0ab9f765621de3140cc27d6472f5581">AirlineCode_T</a> lAirlineCodeBA (<span class="stringliteral">&quot;BA&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> InventoryKey lBAKey (lAirlineCodeBA);</div>
<div class="line">    Inventory&amp; lBAInv = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;Inventory&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lBAKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lBAInv);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioBomRoot, lBAInv);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the airline feature object to the BA inventory</span></div>
<div class="line">    <span class="keyword">const</span> AirlineFeatureKey lAirlineFeatureBAKey (lAirlineCodeBA);</div>
<div class="line">    AirlineFeature&amp; lAirlineFeatureBA =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineFeature&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirlineFeatureBAKey);</div>
<div class="line">    <a class="code" href="a00090.html#a4f2721b970ecfe34126d34afb2b54a35">FacBomManager::setAirlineFeature</a> (lBAInv, lAirlineFeatureBA);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBAInv, lAirlineFeatureBA);</div>
<div class="line">    <span class="comment">// Link the airline feature object with the top of the BOM tree</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lAirlineFeatureBA);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Create an Inventory for AF</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac0ab9f765621de3140cc27d6472f5581">AirlineCode_T</a> lAirlineCodeAF (<span class="stringliteral">&quot;AF&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> InventoryKey lAFKey (lAirlineCodeAF);</div>
<div class="line">    Inventory&amp; lAFInv = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;Inventory&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAFKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lAFInv);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioBomRoot, lAFInv);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Add the airline feature object to the AF inventory</span></div>
<div class="line">    <span class="keyword">const</span> AirlineFeatureKey lAirlineFeatureAFKey (lAirlineCodeAF);</div>
<div class="line">    AirlineFeature&amp; lAirlineFeatureAF =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineFeature&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirlineFeatureAFKey);</div>
<div class="line">    <a class="code" href="a00090.html#a4f2721b970ecfe34126d34afb2b54a35">FacBomManager::setAirlineFeature</a> (lAFInv, lAirlineFeatureAF);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lAFInv, lAirlineFeatureAF);</div>
<div class="line">    <span class="comment">// Link the airline feature object with the top of the BOM tree</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lAirlineFeatureAF);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// BA</span></div>
<div class="line">    <span class="comment">// Step 0.2: Flight-date level</span></div>
<div class="line">    <span class="comment">// Create a FlightDate (BA9/10-JUN-2011) for BA&#39;s Inventory</span></div>
<div class="line">    <a class="code" href="a00535.html#abb24a0796f29fe921b6dbe3ba0fa638e">FlightNumber_T</a> lFlightNumber = 9;</div>
<div class="line">    <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDate (2011, 6, 10);</div>
<div class="line">    FlightDateKey lFlightDateKey (lFlightNumber, lDate);</div>
<div class="line"></div>
<div class="line">    FlightDate&amp; lBA9_20110610_FD =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FlightDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFlightDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBAInv, lBA9_20110610_FD);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBAInv, lBA9_20110610_FD);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Display the flight-date</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;FlightDate: &quot; &lt;&lt; lBA9_20110610_FD.toString());</span></div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Step 0.3: Segment-date level</span></div>
<div class="line">    <span class="comment">// Create a first SegmentDate (LHR-SYD) for BA&#39;s Inventory</span></div>
<div class="line">    <span class="comment">// See http://www.britishairways.com/travel/flightinformation/public/fr_fr?&amp;Carrier=BA&amp;FlightNumber=0009&amp;from=LHR&amp;to=SYD&amp;depDate=100611&amp;SellingClass=O</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lLHR (<span class="stringliteral">&quot;LHR&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lSYD (<span class="stringliteral">&quot;SYD&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a1b93767b6aab60b88f5309ce0f8894ea">DateOffset_T</a> l1Day (1);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a1b93767b6aab60b88f5309ce0f8894ea">DateOffset_T</a> l2Days (2);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l2135 (21, 45, 0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l0610 (6, 10, 0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l2205 (22, 05, 0);</div>
<div class="line">    SegmentDateKey lSegmentDateKey (lLHR, lSYD);</div>
<div class="line"></div>
<div class="line">    SegmentDate&amp; lLHRSYDSegment =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBA9_20110610_FD, lLHRSYDSegment);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBA9_20110610_FD, lLHRSYDSegment); </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the routing leg keys to the LHR-SYD segment.</span></div>
<div class="line">    <span class="keyword">const</span> std::string lBALHRRoutingLegStr = <span class="stringliteral">&quot;BA;9;2011-Jun-10;LHR&quot;</span>;</div>
<div class="line">    <span class="keyword">const</span> std::string lBABKKRoutingLegStr = <span class="stringliteral">&quot;BA;9;2011-Jun-10;BKK&quot;</span>;</div>
<div class="line">    lLHRSYDSegment.addLegKey (lBALHRRoutingLegStr);</div>
<div class="line">    lLHRSYDSegment.addLegKey (lBABKKRoutingLegStr);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fill the SegmentDate content</span></div>
<div class="line">    lLHRSYDSegment.setBoardingDate (lDate);</div>
<div class="line">    lLHRSYDSegment.setOffDate (lDate + l2Days);</div>
<div class="line">    lLHRSYDSegment.setBoardingTime (l2135);</div>
<div class="line">    lLHRSYDSegment.setOffTime (l0610);</div>
<div class="line">    lLHRSYDSegment.setElapsedTime (l2135);</div>
<div class="line">  </div>
<div class="line">    <span class="comment">// Display the segment-date</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;SegmentDate: &quot; &lt;&lt; lLHRSYDSegment);</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a second SegmentDate (LHR-BKK) for BA&#39;s Inventory</span></div>
<div class="line">    <span class="comment">// See http://www.britishairways.com/travel/flightinformation/public/fr_fr?&amp;Carrier=BA&amp;FlightNumber=0009&amp;from=LHR&amp;to=BKK&amp;depDate=100611&amp;SellingClass=O</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lBKK (<span class="stringliteral">&quot;BKK&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l1540 (15, 40, 0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l1105 (11, 5, 0);</div>
<div class="line">    lSegmentDateKey = SegmentDateKey (lLHR, lBKK);</div>
<div class="line"></div>
<div class="line">    SegmentDate&amp; lLHRBKKSegment =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBA9_20110610_FD, lLHRBKKSegment);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBA9_20110610_FD, lLHRBKKSegment); </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the routing leg key to the LHR-BKK segment.</span></div>
<div class="line">    lLHRBKKSegment.addLegKey (lBALHRRoutingLegStr);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fill the SegmentDate content</span></div>
<div class="line">    lLHRBKKSegment.setBoardingDate (lDate);</div>
<div class="line">    lLHRBKKSegment.setOffDate (lDate + l1Day);</div>
<div class="line">    lLHRBKKSegment.setBoardingTime (l2135);</div>
<div class="line">    lLHRBKKSegment.setOffTime (l1540);</div>
<div class="line">    lLHRBKKSegment.setElapsedTime (l1105);</div>
<div class="line">  </div>
<div class="line">    <span class="comment">// Display the segment-date</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;SegmentDate: &quot; &lt;&lt; lLHRBKKSegment);</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a third SegmentDate (BKK-SYD) for BA&#39;s Inventory</span></div>
<div class="line">    <span class="comment">// See http://www.britishairways.com/travel/flightinformation/public/fr_fr?&amp;Carrier=BA&amp;FlightNumber=0009&amp;from=BKK&amp;to=SYD&amp;depDate=110611&amp;SellingClass=O</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l1705 (17, 5, 0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l0905 (9, 5, 0);</div>
<div class="line">    lSegmentDateKey = SegmentDateKey (lBKK, lSYD);</div>
<div class="line"></div>
<div class="line">    SegmentDate&amp; lBKKSYDSegment =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBA9_20110610_FD, lBKKSYDSegment);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBA9_20110610_FD, lBKKSYDSegment);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the routing leg key to the BKK-SYD segment.</span></div>
<div class="line">    lBKKSYDSegment.addLegKey (lBABKKRoutingLegStr);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fill the SegmentDate content</span></div>
<div class="line">    lBKKSYDSegment.setBoardingDate (lDate + l1Day);</div>
<div class="line">    lBKKSYDSegment.setOffDate (lDate + l2Days);</div>
<div class="line">    lBKKSYDSegment.setBoardingTime (l1705);</div>
<div class="line">    lBKKSYDSegment.setOffTime (l1540);</div>
<div class="line">    lBKKSYDSegment.setElapsedTime (l0905);</div>
<div class="line">  </div>
<div class="line">    <span class="comment">// Display the segment-date</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;SegmentDate: &quot; &lt;&lt; lBKKSYDSegment);</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.4: Leg-date level</span></div>
<div class="line">    <span class="comment">// Create a first LegDate (LHR) for BA&#39;s Inventory</span></div>
<div class="line">    LegDateKey lLegDateKey (lLHR);</div>
<div class="line"></div>
<div class="line">    LegDate&amp; lLHRLeg = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;LegDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLegDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBA9_20110610_FD, lLHRLeg);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBA9_20110610_FD, lLHRLeg);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fill the LegDate content</span></div>
<div class="line">    lLHRLeg.setOffPoint (lBKK);</div>
<div class="line">    lLHRLeg.setBoardingDate (lDate);</div>
<div class="line">    lLHRLeg.setOffDate (lDate + l1Day);</div>
<div class="line">    lLHRLeg.setBoardingTime (l2135);</div>
<div class="line">    lLHRLeg.setOffTime (l1540);</div>
<div class="line">    lLHRLeg.setElapsedTime (l1105);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Display the leg-date</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;LegDate: &quot; &lt;&lt; lLHRLeg.toString());</span></div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Create a second LegDate (BKK)</span></div>
<div class="line">    lLegDateKey = LegDateKey (lBKK);</div>
<div class="line"></div>
<div class="line">    LegDate&amp; lBKKLeg = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;LegDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLegDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBA9_20110610_FD, lBKKLeg);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBA9_20110610_FD, lBKKLeg);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Display the leg-date</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;LegDate: &quot; &lt;&lt; lBKKLeg.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fill the LegDate content</span></div>
<div class="line">    lBKKLeg.setOffPoint (lSYD);</div>
<div class="line">    lBKKLeg.setBoardingDate (lDate + l1Day);</div>
<div class="line">    lBKKLeg.setOffDate (lDate + l2Days);</div>
<div class="line">    lBKKLeg.setBoardingTime (l1705);</div>
<div class="line">    lBKKLeg.setOffTime (l1540);</div>
<div class="line">    lBKKLeg.setElapsedTime (l0905);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.5: segment-cabin level</span></div>
<div class="line">    <span class="comment">// Create a SegmentCabin (Y) for the Segment LHR-BKK of BA&#39;s Inventory</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af6e007ccf2f470cad8779ea76dc958c1">CabinCode_T</a> lY (<span class="stringliteral">&quot;Y&quot;</span>);</div>
<div class="line">    SegmentCabinKey lYSegmentCabinKey (lY);</div>
<div class="line"></div>
<div class="line">    SegmentCabin&amp; lLHRBKKSegmentYCabin =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentCabin&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYSegmentCabinKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRBKKSegment, lLHRBKKSegmentYCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lLHRBKKSegment, lLHRBKKSegmentYCabin);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Display the segment-cabin</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;SegmentCabin: &quot; &lt;&lt; lLHRBKKSegmentYCabin.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a SegmentCabin (Y) of the Segment BKK-SYD;</span></div>
<div class="line">    SegmentCabin&amp; lBKKSYDSegmentYCabin =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentCabin&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYSegmentCabinKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKSYDSegment, lBKKSYDSegmentYCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKSYDSegment, lBKKSYDSegmentYCabin);</div>
<div class="line"></div>
<div class="line">     </div>
<div class="line">    <span class="comment">// Display the segment-cabin</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;SegmentCabin: &quot; &lt;&lt; lBKKSYDSegmentYCabin.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a SegmentCabin (Y) of the Segment LHR-SYD;</span></div>
<div class="line">    SegmentCabin&amp; lLHRSYDSegmentYCabin =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentCabin&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYSegmentCabinKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRSYDSegment, lLHRSYDSegmentYCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lLHRSYDSegment, lLHRSYDSegmentYCabin);</div>
<div class="line">      </div>
<div class="line">    <span class="comment">// Display the segment-cabin</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;SegmentCabin: &quot; &lt;&lt; lLHRSYDSegmentYCabin.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.6: leg-cabin level</span></div>
<div class="line">    <span class="comment">// Create a LegCabin (Y) for the Leg LHR-BKK on BA&#39;s Inventory</span></div>
<div class="line">    LegCabinKey lYLegCabinKey (lY);</div>
<div class="line"></div>
<div class="line">    LegCabin&amp; lLHRLegYCabin =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;LegCabin&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYLegCabinKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRLeg, lLHRLegYCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lLHRLeg, lLHRLegYCabin);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Display the leg-cabin</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;LegCabin: &quot; &lt;&lt; lLHRLegYCabin.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a LegCabin (Y) for the Leg BKK-SYD</span></div>
<div class="line">    LegCabin&amp; lBKKLegYCabin =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;LegCabin&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYLegCabinKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKLeg, lBKKLegYCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKLeg, lBKKLegYCabin);</div>
<div class="line">    <span class="comment">// Display the leg-cabin</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;LegCabin: &quot; &lt;&lt; lBKKLegYCabin.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.7: fare family level</span></div>
<div class="line">    <span class="comment">// Create a FareFamily (1) for the Segment LHR-BKK, cabin Y on BA&#39;s Inv</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#aa8f1eaf9bbab3ad018c9e96be9b1a45d">FamilyCode_T</a> l1 (<span class="stringliteral">&quot;EcoSaver&quot;</span>);</div>
<div class="line">    FareFamilyKey l1FareFamilyKey (l1);</div>
<div class="line"></div>
<div class="line">    FareFamily&amp; lLHRBKKSegmentYCabin1Family =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFamily&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRBKKSegmentYCabin,</div>
<div class="line">                                    lLHRBKKSegmentYCabin1Family);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lLHRBKKSegmentYCabin,</div>
<div class="line">                                   lLHRBKKSegmentYCabin1Family);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Display the booking class</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;FareFamily: &quot;</span></div>
<div class="line">    <span class="comment">//                   &lt;&lt; lLHRBKKSegmentYCabin1Family.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a FareFamily (1)  for the Segment BKK-SYD, cabin Y on BA&#39;s Inv</span></div>
<div class="line">    FareFamily&amp; lBKKSYDSegmentYCabin1Family =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFamily&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKSYDSegmentYCabin,</div>
<div class="line">                                    lBKKSYDSegmentYCabin1Family);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKSYDSegmentYCabin,</div>
<div class="line">                                   lBKKSYDSegmentYCabin1Family);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Display the booking class</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;FareFamily: &quot;</span></div>
<div class="line">    <span class="comment">//                   &lt;&lt; lLHRBKKSegmentYCabin1Family.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a FareFamily (1)  for the Segment LHR-SYD, cabin Y on BA&#39;s Inv</span></div>
<div class="line">    FareFamily&amp; lLHRSYDSegmentYCabin1Family =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFamily&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRSYDSegmentYCabin,</div>
<div class="line">                                    lLHRSYDSegmentYCabin1Family);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lLHRSYDSegmentYCabin,</div>
<div class="line">                                   lLHRSYDSegmentYCabin1Family);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Display the booking class</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;FareFamily: &quot;</span></div>
<div class="line">    <span class="comment">//                   &lt;&lt; lLHRBKKSegmentYCabin1Family.toString());</span></div>
<div class="line"></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.8: booking class level</span></div>
<div class="line">    <span class="comment">// Create a BookingClass (Q) for the Segment LHR-BKK, cabin Y,</span></div>
<div class="line">    <span class="comment">// fare family 1 on BA&#39;s Inv</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lQ (<span class="stringliteral">&quot;Q&quot;</span>);</div>
<div class="line">    BookingClassKey lQBookingClassKey (lQ);</div>
<div class="line"></div>
<div class="line">    BookingClass&amp; lLHRBKKSegmentYCabin1FamilyQClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lQBookingClassKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRBKKSegmentYCabin1Family,</div>
<div class="line">                                    lLHRBKKSegmentYCabin1FamilyQClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lLHRBKKSegmentYCabin1Family,</div>
<div class="line">                                   lLHRBKKSegmentYCabin1FamilyQClass);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRBKKSegmentYCabin,</div>
<div class="line">                                    lLHRBKKSegmentYCabin1FamilyQClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRBKKSegment,</div>
<div class="line">                                    lLHRBKKSegmentYCabin1FamilyQClass);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Display the booking class</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;BookingClass: &quot;</span></div>
<div class="line">    <span class="comment">//                   &lt;&lt; lLHRBKKSegmentYCabin1FamilyQClass.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a BookingClass (Q) for the Segment BKK-SYD, cabin Y,</span></div>
<div class="line">    <span class="comment">// fare family 1 on BA&#39;s Inv</span></div>
<div class="line">    BookingClass&amp; lBKKSYDSegmentYCabin1FamilyQClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lQBookingClassKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKSYDSegmentYCabin1Family,</div>
<div class="line">                                    lBKKSYDSegmentYCabin1FamilyQClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKSYDSegmentYCabin1Family,</div>
<div class="line">                                   lBKKSYDSegmentYCabin1FamilyQClass);</div>
<div class="line">    </div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKSYDSegmentYCabin,</div>
<div class="line">                                    lBKKSYDSegmentYCabin1FamilyQClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKSYDSegment,</div>
<div class="line">                                    lBKKSYDSegmentYCabin1FamilyQClass);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Display the booking class</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;BookingClass: &quot;</span></div>
<div class="line">    <span class="comment">//                   &lt;&lt; lLHRBKKSegmentYCabin1FamilyQClass.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a BookingClass (Q) for the Segment LHR-SYD, cabin Y,</span></div>
<div class="line">    <span class="comment">// fare family 1 on BA&#39;s Inv</span></div>
<div class="line">    BookingClass&amp; lLHRSYDSegmentYCabin1FamilyQClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lQBookingClassKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRSYDSegmentYCabin1Family,</div>
<div class="line">                                    lLHRSYDSegmentYCabin1FamilyQClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lLHRSYDSegmentYCabin1Family,</div>
<div class="line">                                   lLHRSYDSegmentYCabin1FamilyQClass);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRSYDSegmentYCabin,</div>
<div class="line">                                    lLHRSYDSegmentYCabin1FamilyQClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLHRSYDSegment,</div>
<div class="line">                                    lLHRSYDSegmentYCabin1FamilyQClass);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Display the booking class</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;BookingClass: &quot;</span></div>
<div class="line">    <span class="comment">//                   &lt;&lt; lLHRBKKSegmentYCabin1FamilyQClass.toString());</span></div>
<div class="line"></div>
<div class="line">    </div>
<div class="line">    <span class="comment">// ////// AF ///////    </span></div>
<div class="line">    <span class="comment">// Step 0.2: Flight-date level</span></div>
<div class="line">    <span class="comment">// Create a FlightDate (AF084/20-MAR-2011) for AF&#39;s Inventory</span></div>
<div class="line">    lFlightNumber = 84;</div>
<div class="line">    lDate = <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> (2011, 3, 20);</div>
<div class="line">    lFlightDateKey = FlightDateKey (lFlightNumber, lDate);</div>
<div class="line"></div>
<div class="line">    FlightDate&amp; lAF084_20110320_FD =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FlightDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFlightDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lAFInv, lAF084_20110320_FD);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lAFInv, lAF084_20110320_FD);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Display the flight-date</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;FlightDate: &quot; &lt;&lt; lAF084_20110320_FD.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.3: Segment-date level</span></div>
<div class="line">    <span class="comment">// Create a SegmentDate (CDG-SFO) for AF&#39;s Inventory</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lCDG (<span class="stringliteral">&quot;CDG&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lSFO (<span class="stringliteral">&quot;SFO&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l1040 (10, 40, 0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l1250 (12, 50, 0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l1110 (11, 10, 0);</div>
<div class="line">    lSegmentDateKey = SegmentDateKey (lCDG, lSFO);</div>
<div class="line"></div>
<div class="line">    SegmentDate&amp; lCDGSFOSegment =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lAF084_20110320_FD, lCDGSFOSegment);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lAF084_20110320_FD, lCDGSFOSegment);  </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the routing leg key to the CDG-SFO segment.</span></div>
<div class="line">    <span class="keyword">const</span> std::string lAFCDGRoutingLegStr = <span class="stringliteral">&quot;AF;84;2011-Mar-20;CDG&quot;</span>;</div>
<div class="line">    lCDGSFOSegment.addLegKey (lAFCDGRoutingLegStr);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Display the segment-date</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;SegmentDate: &quot; &lt;&lt; lCDGSFOSegment.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fill the SegmentDate content</span></div>
<div class="line">    lCDGSFOSegment.setBoardingDate (lDate);</div>
<div class="line">    lCDGSFOSegment.setOffDate (lDate);</div>
<div class="line">    lCDGSFOSegment.setBoardingTime (l1040);</div>
<div class="line">    lCDGSFOSegment.setOffTime (l1250);</div>
<div class="line">    lCDGSFOSegment.setElapsedTime (l1110);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.4: Leg-date level</span></div>
<div class="line">    <span class="comment">// Create a LegDate (CDG) for AF&#39;s Inventory</span></div>
<div class="line">    lLegDateKey = LegDateKey (lCDG);</div>
<div class="line"></div>
<div class="line">    LegDate&amp; lCDGLeg = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;LegDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLegDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lAF084_20110320_FD, lCDGLeg);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lAF084_20110320_FD, lCDGLeg);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fill the LegDate content</span></div>
<div class="line">    lCDGLeg.setOffPoint (lSFO);</div>
<div class="line">    lCDGLeg.setBoardingDate (lDate);</div>
<div class="line">    lCDGLeg.setOffDate (lDate);</div>
<div class="line">    lCDGLeg.setBoardingTime (l1040);</div>
<div class="line">    lCDGLeg.setOffTime (l1250);</div>
<div class="line">    lCDGLeg.setElapsedTime (l1110);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Display the leg-date</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;LegDate: &quot; &lt;&lt; lCDGLeg.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.5: segment-cabin level</span></div>
<div class="line">    <span class="comment">// Create a SegmentCabin (Y) for the Segment CDG-SFO of AF&#39;s Inventory</span></div>
<div class="line">    SegmentCabin&amp; lCDGSFOSegmentYCabin =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentCabin&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYSegmentCabinKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCDGSFOSegment, lCDGSFOSegmentYCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCDGSFOSegment, lCDGSFOSegmentYCabin);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Display the segment-cabin</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;SegmentCabin: &quot; &lt;&lt; lCDGSFOSegmentYCabin.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.6: leg-cabin level</span></div>
<div class="line">    <span class="comment">// Create a LegCabin (Y) for the Leg CDG-SFO on AF&#39;s Inventory</span></div>
<div class="line">    LegCabin&amp; lCDGLegYCabin =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;LegCabin&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYLegCabinKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCDGLeg, lCDGLegYCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCDGLeg, lCDGLegYCabin);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Display the leg-cabin</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;LegCabin: &quot; &lt;&lt; lLHRLegYCabin.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.7: fare family level</span></div>
<div class="line">    <span class="comment">// Create a fareFamily (1) for the Segment CDG-SFO, cabin Y on AF&#39;s Inv</span></div>
<div class="line">    FareFamily&amp; lCDGSFOSegmentYCabin1Family =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFamily&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCDGSFOSegmentYCabin,</div>
<div class="line">                                    lCDGSFOSegmentYCabin1Family);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCDGSFOSegmentYCabin,</div>
<div class="line">                                   lCDGSFOSegmentYCabin1Family);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Display the fare family</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;fareFamily: &quot;</span></div>
<div class="line">    <span class="comment">//</span></div>
<div class="line">    <span class="comment">//                   &lt;&lt; lCDGSFOSegmentYCabin1Family.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.8: booking class level Create a BookingClass (Q) for the</span></div>
<div class="line">    <span class="comment">// Segment CDG-SFO, cabin Y, fare family 1 on AF&#39;s Inv</span></div>
<div class="line">    BookingClass&amp; lCDGSFOSegmentYCabin1FamilyQClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lQBookingClassKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCDGSFOSegmentYCabin1Family,</div>
<div class="line">                                    lCDGSFOSegmentYCabin1FamilyQClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCDGSFOSegmentYCabin1Family,</div>
<div class="line">                                   lCDGSFOSegmentYCabin1FamilyQClass);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCDGSFOSegmentYCabin,</div>
<div class="line">                                    lCDGSFOSegmentYCabin1FamilyQClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCDGSFOSegment,</div>
<div class="line">                                    lCDGSFOSegmentYCabin1FamilyQClass);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Display the booking class</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;BookingClass: &quot;</span></div>
<div class="line">    <span class="comment">//                   &lt;&lt; lCDGSFOSegmentYCabin1FamilyQClass.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">/*================================================================================</span></div>
<div class="line"><span class="comment">      ================================================================================</span></div>
<div class="line"><span class="comment">      ================================================================================*/</span></div>
<div class="line">    <span class="comment">// Schedule:</span></div>
<div class="line">    <span class="comment">// BA:</span></div>
<div class="line">    <span class="comment">// Step 1: flight period level</span></div>
<div class="line">    <span class="comment">// Create a flight period for BA9:</span></div>
<div class="line">    <span class="keyword">const</span> DoWStruct lDoWSrtuct (<span class="stringliteral">&quot;1111111&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lBA9DateRangeStart (2010, boost::gregorian::Jun, 6);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lBA9DateRangeEnd (2010, boost::gregorian::Jun, 7);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a923842effcf1b0dc1001731efc276d8b">DatePeriod_T</a> lBA9DatePeriod (lBA9DateRangeStart, lBA9DateRangeEnd);</div>
<div class="line">    <span class="keyword">const</span> PeriodStruct lBA9PeriodStruct (lBA9DatePeriod, lDoWSrtuct);</div>
<div class="line"></div>
<div class="line">    lFlightNumber = <a class="code" href="a00535.html#abb24a0796f29fe921b6dbe3ba0fa638e">FlightNumber_T</a> (9);</div>
<div class="line"></div>
<div class="line">    FlightPeriodKey lBA9FlightPeriodKey (lFlightNumber, lBA9PeriodStruct);</div>
<div class="line"></div>
<div class="line">    FlightPeriod&amp; lBA9FlightPeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FlightPeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lBA9FlightPeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBAInv, lBA9FlightPeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBAInv, lBA9FlightPeriod);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 2: segment period level</span></div>
<div class="line">    <span class="comment">// Create a segment period for LHR-SYD:</span></div>
<div class="line"></div>
<div class="line">    SegmentPeriodKey lLHRSYDSegmentPeriodKey (lLHR, lSYD);</div>
<div class="line"></div>
<div class="line">    SegmentPeriod&amp; lLHRSYDSegmentPeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentPeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLHRSYDSegmentPeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBA9FlightPeriod, lLHRSYDSegmentPeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBA9FlightPeriod, lLHRSYDSegmentPeriod);</div>
<div class="line"></div>
<div class="line">    lLHRSYDSegmentPeriod.setBoardingTime (l2135);</div>
<div class="line">    lLHRSYDSegmentPeriod.setOffTime (l1540);</div>
<div class="line">    lLHRSYDSegmentPeriod.setElapsedTime (l1105);</div>
<div class="line">    <a class="code" href="a00535.html#a8955958d7655605902d49df1588c3dad">ClassList_String_T</a> lYM (<span class="stringliteral">&quot;YM&quot;</span>);</div>
<div class="line">    lLHRSYDSegmentPeriod.addCabinBookingClassList (lY,lYM);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// AF:</span></div>
<div class="line">    <span class="comment">// Step 1: flight period level</span></div>
<div class="line">    <span class="comment">// Create a flight period for AF84:</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lAF84DateRangeStart (2011, boost::gregorian::Mar, 20);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lAF84DateRangeEnd (2011, boost::gregorian::Mar, 21);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a923842effcf1b0dc1001731efc276d8b">DatePeriod_T</a> lAF84DatePeriod (lAF84DateRangeStart, lAF84DateRangeEnd);</div>
<div class="line">    <span class="keyword">const</span> PeriodStruct lAF84PeriodStruct (lAF84DatePeriod, lDoWSrtuct);</div>
<div class="line"></div>
<div class="line">    lFlightNumber = <a class="code" href="a00535.html#abb24a0796f29fe921b6dbe3ba0fa638e">FlightNumber_T</a> (84);</div>
<div class="line"></div>
<div class="line">    FlightPeriodKey lAF84FlightPeriodKey (lFlightNumber, lAF84PeriodStruct);</div>
<div class="line"></div>
<div class="line">    FlightPeriod&amp; lAF84FlightPeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FlightPeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAF84FlightPeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lAFInv, lAF84FlightPeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lAFInv, lAF84FlightPeriod);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 2: segment period level</span></div>
<div class="line">    <span class="comment">// Create a segment period for CDG-SFO:</span></div>
<div class="line"></div>
<div class="line">    SegmentPeriodKey lCDGSFOSegmentPeriodKey (lCDG, lSFO);</div>
<div class="line"></div>
<div class="line">    SegmentPeriod&amp; lCDGSFOSegmentPeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentPeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lCDGSFOSegmentPeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lAF84FlightPeriod, lCDGSFOSegmentPeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lAF84FlightPeriod, lCDGSFOSegmentPeriod);</div>
<div class="line"></div>
<div class="line">    lCDGSFOSegmentPeriod.setBoardingTime (l1040);</div>
<div class="line">    lCDGSFOSegmentPeriod.setOffTime (l1250);</div>
<div class="line">    lCDGSFOSegmentPeriod.setElapsedTime (l1110);</div>
<div class="line">    lCDGSFOSegmentPeriod.addCabinBookingClassList (lY,lYM);</div>
<div class="line"></div>
<div class="line">    <span class="comment">/*================================================================================</span></div>
<div class="line"><span class="comment">      ================================================================================</span></div>
<div class="line"><span class="comment">      ================================================================================*/</span></div>
<div class="line">    <span class="comment">// O&amp;D </span></div>
<div class="line">    <span class="comment">// Create an O&amp;D Date (BA;9,2010-Jun-06;LHR,SYD) for BA&#39;s Inventory</span></div>
<div class="line">    <a class="code" href="a00535.html#a89ce8c389c63742d2a8f9dddebfba464">OnDString_T</a>  lBALHRSYDOnDStr = <span class="stringliteral">&quot;BA;9,2010-Jun-06;LHR,SYD&quot;</span>;</div>
<div class="line">    <a class="code" href="a00535.html#a856a099c44b6c21b4497f928d04f59e2">OnDStringList_T</a> lBAOnDStrList;</div>
<div class="line">    lBAOnDStrList.push_back (lBALHRSYDOnDStr);</div>
<div class="line"></div>
<div class="line">    OnDDateKey lBAOnDDateKey (lBAOnDStrList);</div>
<div class="line">    OnDDate&amp; lBA_LHRSYD_OnDDate =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;OnDDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lBAOnDDateKey);</div>
<div class="line">    <span class="comment">// Link to the inventory</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBAInv, lBA_LHRSYD_OnDDate);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBAInv, lBA_LHRSYD_OnDDate);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the segment</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBA_LHRSYD_OnDDate, lLHRSYDSegment);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add total forecast info for cabin Y.</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2d11d25d3d03504ff4a4542381744fe4">MeanStdDevPair_T</a> lMean60StdDev6 (60.0, 6.0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a17d2c82c69a07adacf6cb8af20868a0f">WTP_T</a> lWTP750 = 750.0;</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a37773dac4c9c93592d2d1029be1d8071">WTPDemandPair_T</a> lWTP750Mean60StdDev6 (lWTP750, lMean60StdDev6);</div>
<div class="line">    lBA_LHRSYD_OnDDate.setTotalForecast (lY, lWTP750Mean60StdDev6);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create an O&amp;D Date (AF;84,2011-Mar-21;CDG,SFO) for AF&#39;s Inventory</span></div>
<div class="line">    <a class="code" href="a00535.html#a89ce8c389c63742d2a8f9dddebfba464">OnDString_T</a> lAFLHRSYDOnDStr = <span class="stringliteral">&quot;AF;9,2011-Mar-20;CDG,SFO&quot;</span>;</div>
<div class="line">    <a class="code" href="a00535.html#a856a099c44b6c21b4497f928d04f59e2">OnDStringList_T</a> lAFOnDStrList;</div>
<div class="line">    lAFOnDStrList.push_back (lAFLHRSYDOnDStr);</div>
<div class="line"></div>
<div class="line">    OnDDateKey lAFOnDDateKey (lAFOnDStrList);</div>
<div class="line">    OnDDate&amp; lAF_LHRSYD_OnDDate =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;OnDDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAFOnDDateKey);</div>
<div class="line">    <span class="comment">// Link to the inventory</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lAFInv, lAF_LHRSYD_OnDDate);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lAFInv, lAF_LHRSYD_OnDDate);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the segment</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lAF_LHRSYD_OnDDate, lLHRSYDSegment);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add total forecast info for cabin Y. </span></div>
<div class="line">    lAF_LHRSYD_OnDDate.setTotalForecast (lY, lWTP750Mean60StdDev6);</div>
<div class="line">    </div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">  <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  <span class="keywordtype">void</span> CmdBomManager::</div>
<div class="line">  buildSampleInventoryScheduleForFareFamilies (BomRoot&amp; ioBomRoot) {</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Inventory</span></div>
<div class="line">    <span class="comment">// Step 0.1: Inventory level</span></div>
<div class="line">    <span class="comment">// Get the Inventory SQ (already built by construction)  </span></div>
<div class="line">    <span class="keyword">const</span> InventoryKey lSQKey (<span class="stringliteral">&quot;SQ&quot;</span>);</div>
<div class="line">    Inventory&amp; lSQInv = BomManager::getObject&lt;Inventory&gt;(ioBomRoot,</div>
<div class="line">                                                         lSQKey.toString());</div>
<div class="line"></div>
<div class="line">    <span class="comment">// SQ</span></div>
<div class="line">    <span class="comment">// Step 0.2: Flight-date level</span></div>
<div class="line">    <span class="comment">// Create a FlightDate (SQ747/8-FEB-2010) for SQ&#39;s Inventory</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#abb24a0796f29fe921b6dbe3ba0fa638e">FlightNumber_T</a> lFlightNumber747 = 747;</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDate (2010, 2, 8);</div>
<div class="line">    <span class="keyword">const</span> FlightDateKey lFlightDateKey (lFlightNumber747, lDate);</div>
<div class="line"></div>
<div class="line">    FlightDate&amp; lSQ747_20100208_FD =</div>
<div class="line">        <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FlightDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFlightDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQInv, lSQ747_20100208_FD);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQInv, lSQ747_20100208_FD);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Display the flight-date</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;FlightDate: &quot; &lt;&lt; lSQ747_20100208_FD.toString());</span></div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Step 0.3: Segment-date level</span></div>
<div class="line">    <span class="comment">// Create a SegmentDate (SIN-BKK) for SQ&#39;s Inventory</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lSIN (<span class="stringliteral">&quot;SIN&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lBKK (<span class="stringliteral">&quot;BKK&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l0635 (6, 35, 0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l0800 (8, 0, 0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l0225 (2, 25, 0);</div>
<div class="line">    <span class="keyword">const</span> SegmentDateKey lSegmentDateKey (lSIN, lBKK);</div>
<div class="line"></div>
<div class="line">    SegmentDate&amp; lSINBKKSegment =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ747_20100208_FD, lSINBKKSegment);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQ747_20100208_FD, lSINBKKSegment); </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the routing leg key to the SIN-BKK segment.</span></div>
<div class="line">    <span class="keyword">const</span> std::string lSQSINRoutingLegStr = <span class="stringliteral">&quot;SQ;747;2010-Feb-8;SIN&quot;</span>;</div>
<div class="line">    lSINBKKSegment.addLegKey (lSQSINRoutingLegStr);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fill the SegmentDate content</span></div>
<div class="line">    lSINBKKSegment.setBoardingDate (lDate);</div>
<div class="line">    lSINBKKSegment.setOffDate (lDate);</div>
<div class="line">    lSINBKKSegment.setBoardingTime (l0635);</div>
<div class="line">    lSINBKKSegment.setOffTime (l0800);</div>
<div class="line">    lSINBKKSegment.setElapsedTime (l0225);</div>
<div class="line">  </div>
<div class="line">    <span class="comment">// Display the segment-date</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;SegmentDate: &quot; &lt;&lt; lSINBKKSegment);</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.4: Leg-date level</span></div>
<div class="line">    <span class="comment">// Create a LegDate (SIN) for SQ&#39;s Inventory</span></div>
<div class="line">    <span class="keyword">const</span> LegDateKey lLegDateKey (lSIN);</div>
<div class="line"></div>
<div class="line">    LegDate&amp; lSINLeg = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;LegDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLegDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ747_20100208_FD, lSINLeg);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQ747_20100208_FD, lSINLeg);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fill the LegDate content</span></div>
<div class="line">    lSINLeg.setOffPoint (lBKK);</div>
<div class="line">    lSINLeg.setBoardingDate (lDate);</div>
<div class="line">    lSINLeg.setOffDate (lDate);</div>
<div class="line">    lSINLeg.setBoardingTime (l0635);</div>
<div class="line">    lSINLeg.setOffTime (l0800);</div>
<div class="line">    lSINLeg.setElapsedTime (l0225);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Display the leg-date</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;LegDate: &quot; &lt;&lt; lSINLeg.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.5: segment-cabin level</span></div>
<div class="line">    <span class="comment">// Create a SegmentCabin (Y) for the Segment SIN-BKK of SQ&#39;s Inventory</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af6e007ccf2f470cad8779ea76dc958c1">CabinCode_T</a> lY (<span class="stringliteral">&quot;Y&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> SegmentCabinKey lYSegmentCabinKey (lY);</div>
<div class="line">    SegmentCabin&amp; lSINBKKSegmentYCabin =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentCabin&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYSegmentCabinKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegment, lSINBKKSegmentYCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegment, lSINBKKSegmentYCabin);</div>
<div class="line">    lSINBKKSegmentYCabin.activateFareFamily ();</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Display the segment-cabin</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;SegmentCabin: &quot; &lt;&lt; lSINBKKSegmentYCabin.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.6: leg-cabin level</span></div>
<div class="line">    <span class="comment">// Create a LegCabin (Y) for the Leg SIN-BKK on SQ&#39;s Inventory</span></div>
<div class="line">    <span class="keyword">const</span> LegCabinKey lYLegCabinKey (lY);</div>
<div class="line">    LegCabin&amp; lSINLegYCabin =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;LegCabin&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYLegCabinKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINLeg, lSINLegYCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINLeg, lSINLegYCabin);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Display the leg-cabin</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;LegCabin: &quot; &lt;&lt; lSINLegYCabin.toString());</span></div>
<div class="line">   </div>
<div class="line">    <span class="comment">// Step 0.7: fare family level</span></div>
<div class="line">    <span class="comment">// Create a FareFamily (1) for the Segment SIN-BKK, cabin Y on SQ&#39;s Inv</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#aa8f1eaf9bbab3ad018c9e96be9b1a45d">FamilyCode_T</a> l1 (<span class="stringliteral">&quot;1&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> FareFamilyKey l1FareFamilyKey (l1);</div>
<div class="line">    FareFamily&amp; lSINBKKSegmentYCabin1Family =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFamily&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin,</div>
<div class="line">                                      lSINBKKSegmentYCabin1Family);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegmentYCabin,</div>
<div class="line">                                   lSINBKKSegmentYCabin1Family);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Display the booking class</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;FareFamily: &quot;</span></div>
<div class="line">    <span class="comment">//                   &lt;&lt; lSINBKKSegmentYCabin1Family.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a FareFamily (2) for the Segment SIN-BKK, cabin Y on SQ&#39;s Inv</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#aa8f1eaf9bbab3ad018c9e96be9b1a45d">FamilyCode_T</a> l2 (<span class="stringliteral">&quot;2&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> FareFamilyKey l2FareFamilyKey (l2);</div>
<div class="line">    FareFamily&amp; lSINBKKSegmentYCabin2Family =</div>
<div class="line">        <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFamily&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l2FareFamilyKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin,</div>
<div class="line">                                      lSINBKKSegmentYCabin2Family);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegmentYCabin,</div>
<div class="line">                                   lSINBKKSegmentYCabin2Family);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Display the booking class</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;FareFamily: &quot;</span></div>
<div class="line">    <span class="comment">//                   &lt;&lt; lSINBKKSegmentYCabin2Family.toString());</span></div>
<div class="line">   </div>
<div class="line">    <span class="comment">// Step 0.8: booking class level</span></div>
<div class="line">    <span class="comment">// Create a BookingClass (Y) for the Segment SIN-BKK, cabin Y,</span></div>
<div class="line">    <span class="comment">// fare family 2 on SQ&#39;s Inv</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lClassY (<span class="stringliteral">&quot;Y&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> BookingClassKey lYBookingClassKey (lClassY);</div>
<div class="line">    BookingClass&amp; lSINBKKSegmentYCabin2FamilyYClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYBookingClassKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin2Family,</div>
<div class="line">                                    lSINBKKSegmentYCabin2FamilyYClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegmentYCabin2Family,</div>
<div class="line">                                   lSINBKKSegmentYCabin2FamilyYClass);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin,</div>
<div class="line">                                    lSINBKKSegmentYCabin2FamilyYClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegment,</div>
<div class="line">                                    lSINBKKSegmentYCabin2FamilyYClass);</div>
<div class="line">    lSINBKKSegmentYCabin2FamilyYClass.setYield(1200);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Display the booking class</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;BookingClass: &quot;</span></div>
<div class="line">    <span class="comment">//                   &lt;&lt; lSINBKKSegmentYCabin2FamilyYClass.toString());</span></div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Create a BookingClass (B) for the Segment SIN-BKK, cabin Y,</span></div>
<div class="line">    <span class="comment">// fare family 2 on SQ&#39;s Inv</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lB (<span class="stringliteral">&quot;B&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> BookingClassKey lBBookingClassKey (lB);</div>
<div class="line">    BookingClass&amp; lSINBKKSegmentYCabin2FamilyBClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lBBookingClassKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin2Family,</div>
<div class="line">                                    lSINBKKSegmentYCabin2FamilyBClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegmentYCabin2Family,</div>
<div class="line">                                   lSINBKKSegmentYCabin2FamilyBClass);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin,</div>
<div class="line">                                    lSINBKKSegmentYCabin2FamilyBClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegment,</div>
<div class="line">                                    lSINBKKSegmentYCabin2FamilyBClass);</div>
<div class="line">    lSINBKKSegmentYCabin2FamilyBClass.setYield(800);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Display the booking class</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;BookingClass: &quot;</span></div>
<div class="line">    <span class="comment">//                   &lt;&lt; lSINBKKSegmentYCabin2FamilyBClass.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a BookingClass (M) for the Segment SIN-BKK, cabin Y,</span></div>
<div class="line">    <span class="comment">// fare family 1 on SQ&#39;s Inv</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lM (<span class="stringliteral">&quot;M&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> BookingClassKey lMBookingClassKey (lM);</div>
<div class="line">    BookingClass&amp; lSINBKKSegmentYCabin1FamilyMClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lMBookingClassKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin1Family,</div>
<div class="line">                                    lSINBKKSegmentYCabin1FamilyMClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegmentYCabin1Family,</div>
<div class="line">                                   lSINBKKSegmentYCabin1FamilyMClass);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin,</div>
<div class="line">                                    lSINBKKSegmentYCabin1FamilyMClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegment,</div>
<div class="line">                                    lSINBKKSegmentYCabin1FamilyMClass);</div>
<div class="line">    lSINBKKSegmentYCabin1FamilyMClass.setYield(900);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Display the booking class</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;BookingClass: &quot;</span></div>
<div class="line">    <span class="comment">//                   &lt;&lt; lSINBKKSegmentYCabin1FamilyMClass.toString());</span></div>
<div class="line">   </div>
<div class="line">    <span class="comment">// Create a BookingClass (Q) for the Segment SIN-BKK, cabin Y,</span></div>
<div class="line">    <span class="comment">// fare family 1 on SQ&#39;s Inv</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lQ (<span class="stringliteral">&quot;Q&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> BookingClassKey lQBookingClassKey (lQ);</div>
<div class="line">    BookingClass&amp; lSINBKKSegmentYCabin1FamilyQClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lQBookingClassKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin1Family,</div>
<div class="line">                                    lSINBKKSegmentYCabin1FamilyQClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegmentYCabin1Family,</div>
<div class="line">                                   lSINBKKSegmentYCabin1FamilyQClass);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin,</div>
<div class="line">                                    lSINBKKSegmentYCabin1FamilyQClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegment,</div>
<div class="line">                                    lSINBKKSegmentYCabin1FamilyQClass);</div>
<div class="line">    lSINBKKSegmentYCabin1FamilyQClass.setYield(600);</div>
<div class="line"></div>
<div class="line">  </div>
<div class="line">    <span class="comment">// Display the booking class</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;BookingClass: &quot;</span></div>
<div class="line">    <span class="comment">//                   &lt;&lt; lSINBKKSegmentYCabin1FamilyQClass.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">/*================================================================================</span></div>
<div class="line"><span class="comment">      ================================================================================</span></div>
<div class="line"><span class="comment">      ================================================================================*/</span></div>
<div class="line">    <span class="comment">// Schedule:</span></div>
<div class="line">    <span class="comment">// SQ:</span></div>
<div class="line">    <span class="comment">// Step 1: flight period level</span></div>
<div class="line">    <span class="comment">// Create a flight period for SQ747:</span></div>
<div class="line">    <span class="keyword">const</span> DoWStruct lDoWSrtuct (<span class="stringliteral">&quot;1111111&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lSQ747DateRangeStart (2010, boost::gregorian::Feb, 8);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lSQ747DateRangeEnd (2010, boost::gregorian::Feb, 9);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a923842effcf1b0dc1001731efc276d8b">DatePeriod_T</a> lSQ747DatePeriod (lSQ747DateRangeStart, </div>
<div class="line">                                         lSQ747DateRangeEnd);</div>
<div class="line">    <span class="keyword">const</span> PeriodStruct lSQ747PeriodStruct (lSQ747DatePeriod, lDoWSrtuct);</div>
<div class="line"></div>
<div class="line">    <span class="keyword">const</span> FlightPeriodKey lSQ747FlightPeriodKey (lFlightNumber747, </div>
<div class="line">                                           lSQ747PeriodStruct);</div>
<div class="line">    FlightPeriod&amp; lSQ747FlightPeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FlightPeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQ747FlightPeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQInv, lSQ747FlightPeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQInv, lSQ747FlightPeriod);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 2: segment period level</span></div>
<div class="line">    <span class="comment">// Create a segment period for SIN-BKK:</span></div>
<div class="line"></div>
<div class="line">    <span class="keyword">const</span> SegmentPeriodKey lSINBKKSegmentPeriodKey (lSIN, lBKK);</div>
<div class="line">    SegmentPeriod&amp; lSINBKKSegmentPeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentPeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSINBKKSegmentPeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ747FlightPeriod, lSINBKKSegmentPeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQ747FlightPeriod, lSINBKKSegmentPeriod);</div>
<div class="line">     </div>
<div class="line">    <a class="code" href="a00535.html#a8955958d7655605902d49df1588c3dad">ClassList_String_T</a> lYBMQ  (<span class="stringliteral">&quot;YBMQ&quot;</span>);</div>
<div class="line">    lSINBKKSegmentPeriod.addCabinBookingClassList (lY,lYBMQ);</div>
<div class="line">    lSINBKKSegmentPeriod.setBoardingTime (l0635);</div>
<div class="line">    lSINBKKSegmentPeriod.setOffTime (l0800);</div>
<div class="line">    lSINBKKSegmentPeriod.setElapsedTime (l0225);</div>
<div class="line"></div>
<div class="line">    <span class="comment">/*================================================================================</span></div>
<div class="line"><span class="comment">      ================================================================================</span></div>
<div class="line"><span class="comment">      ================================================================================*/</span></div>
<div class="line">    <span class="comment">// O&amp;D </span></div>
<div class="line">    <span class="comment">// Create an O&amp;D Date (SQ;747,2011-Feb-14;SIN,BKK) for SQ&#39;s Inventory</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a89ce8c389c63742d2a8f9dddebfba464">OnDString_T</a> lSQSINBKKOnDStr = <span class="stringliteral">&quot;SQ;747,2011-Feb-14;SIN,BKK&quot;</span>;</div>
<div class="line">    <a class="code" href="a00535.html#a856a099c44b6c21b4497f928d04f59e2">OnDStringList_T</a> lSQOnDStrList;</div>
<div class="line">    lSQOnDStrList.push_back (lSQSINBKKOnDStr);</div>
<div class="line"></div>
<div class="line">    <span class="keyword">const</span> OnDDateKey lSQOnDDateKey (lSQOnDStrList);</div>
<div class="line">    OnDDate&amp; lSQ_SINBKK_OnDDate =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;OnDDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQOnDDateKey);</div>
<div class="line">    <span class="comment">// Link to the inventory</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQInv, lSQ_SINBKK_OnDDate);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQInv, lSQ_SINBKK_OnDDate);</div>
<div class="line">    <span class="comment">// Add total forecast info for cabin Y.</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2d11d25d3d03504ff4a4542381744fe4">MeanStdDevPair_T</a> lMean120StdDev12 (120.0, 12.0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a17d2c82c69a07adacf6cb8af20868a0f">WTP_T</a> lWTP1000 = 1000.0;</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a37773dac4c9c93592d2d1029be1d8071">WTPDemandPair_T</a> lWTP1000Mean120StdDev12 (lWTP1000, lMean120StdDev12);</div>
<div class="line">    lSQ_SINBKK_OnDDate.setTotalForecast (lY, lWTP1000Mean120StdDev12);</div>
<div class="line"> </div>
<div class="line">    <span class="comment">// Add the segment</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ_SINBKK_OnDDate, lSINBKKSegment);</div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">  <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  <span class="keywordtype">void</span> CmdBomManager::buildDummyLegSegmentAccesses (BomRoot&amp; ioBomRoot) {    </div>
<div class="line"></div>
<div class="line">    <span class="comment">/* Build the direct accesses between the dummy segment cabins and the dummy </span></div>
<div class="line"><span class="comment">       leg cabins within the dummy flight dates (the dummy fare family </span></div>
<div class="line"><span class="comment">       flight date and the classic dummy flight date).</span></div>
<div class="line"><span class="comment">      </span></div>
<div class="line"><span class="comment">       As for now (May 2012), that method is called only by RMOL.</span></div>
<div class="line"><span class="comment">       It is a substitute for the code doing it automatically located in AirInv.</span></div>
<div class="line"><span class="comment">       See the AIRINV::InventoryManager::createDirectAccesses command.</span></div>
<div class="line"><span class="comment">     */</span></div>
<div class="line">   </div>
<div class="line">    <span class="comment">// ////// Dummy Inventory Leg Segment Accesses ///////</span></div>
<div class="line">    <span class="comment">// Retrieve the (sample) segment-cabin.</span></div>
<div class="line">    SegmentCabin&amp; lDummySegmentCabin =</div>
<div class="line">      <a class="code" href="a00048.html#acbaa88f95c4f3332792e977cdabed35c">BomRetriever::retrieveDummySegmentCabin</a> (ioBomRoot);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Retrieve the (sample) leg-cabin.</span></div>
<div class="line">    LegCabin&amp; lDummyLegCabin =</div>
<div class="line">      <a class="code" href="a00048.html#a3d7f321323378c6da864298e81d74ea5">BomRetriever::retrieveDummyLegCabin</a> (ioBomRoot);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Links between the segment-date and the leg-date</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lDummyLegCabin, lDummySegmentCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lDummySegmentCabin, lDummyLegCabin);</div>
<div class="line"> </div>
<div class="line">    <span class="comment">// ////// Fare Families Dummy Inventory Leg Segment Accesses ///////</span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> isForFareFamilies = <span class="keyword">true</span>;</div>
<div class="line">    <span class="comment">// Retrieve the (sample) segment-cabin for fare families.</span></div>
<div class="line">    SegmentCabin&amp; lFFDummySegmentCabin =</div>
<div class="line">      <a class="code" href="a00048.html#acbaa88f95c4f3332792e977cdabed35c">BomRetriever::retrieveDummySegmentCabin</a> (ioBomRoot, isForFareFamilies);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Retrieve the (sample) leg-cabin for fare families.</span></div>
<div class="line">    <a class="code" href="a00119.html" title="Class representing the actual attributes for an airline leg-cabin.">stdair::LegCabin</a>&amp; lFFDummyLegCabin =</div>
<div class="line">      <a class="code" href="a00048.html#a3d7f321323378c6da864298e81d74ea5">stdair::BomRetriever::retrieveDummyLegCabin</a> (ioBomRoot, </div>
<div class="line">                                                   isForFareFamilies);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Links between the segment-date and the leg-date for fare families.</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFFDummyLegCabin, lFFDummySegmentCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFFDummySegmentCabin, lFFDummyLegCabin);</div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">  <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  <span class="keywordtype">void</span> CmdBomManager::buildCompleteDummyInventory  (BomRoot&amp; ioBomRoot) {</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Build a dummy inventory, containing a dummy flight-date with a</span></div>
<div class="line">    <span class="comment">// single segment-cabin and a single leg-cabin.</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2dd15bf37056ace1becadd061d66c07b">CabinCapacity_T</a> lCapacity = <a class="code" href="a00535.html#aa471e14e464668c4ba835d267af17341">DEFAULT_CABIN_CAPACITY</a>;</div>
<div class="line">    buildDummyInventory (ioBomRoot, lCapacity);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Retrieve the (sample) segment-cabin.</span></div>
<div class="line">    SegmentCabin&amp; lDummySegmentCabin =</div>
<div class="line">      <a class="code" href="a00048.html#acbaa88f95c4f3332792e977cdabed35c">BomRetriever::retrieveDummySegmentCabin</a> (ioBomRoot);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Retrieve the (sample) leg-cabin.</span></div>
<div class="line">    LegCabin&amp; lDummyLegCabin =</div>
<div class="line">      <a class="code" href="a00048.html#a3d7f321323378c6da864298e81d74ea5">BomRetriever::retrieveDummyLegCabin</a> (ioBomRoot);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add some booking classes to the dummy segment-cabin and some</span></div>
<div class="line">    <span class="comment">// virtual ones to the dummy leg-cabin.</span></div>
<div class="line">    <span class="comment">// First booking class yield and demand information.</span></div>
<div class="line">    <a class="code" href="a00535.html#a941af3a267bc922f2dd2c1910c629347">Yield_T</a> lYield = 100;</div>
<div class="line">    <a class="code" href="a00535.html#a761f03cfa1f92b22572b88650b3dc8f0">MeanValue_T</a> lMean = 20;</div>
<div class="line">    <a class="code" href="a00535.html#a399beabb7114698e10b44e8dd4d675f8">StdDevValue_T</a> lStdDev= 9;</div>
<div class="line">    BookingClassKey lBCKey (<a class="code" href="a00535.html#aa499aea3ef4e308979b2d2f6464dc20f">DEFAULT_CLASS_CODE</a>);</div>
<div class="line"></div>
<div class="line">    BookingClass&amp; lDummyBookingClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lBCKey);</div>
<div class="line">    lDummyBookingClass.setYield (lYield);</div>
<div class="line">    lDummyBookingClass.setMean (lMean);</div>
<div class="line">    lDummyBookingClass.setStdDev (lStdDev);</div>
<div class="line">    <span class="comment">// Add a booking class to the segment-cabin.</span></div>
<div class="line">    <a class="code" href="a00090.html#a732e7152a1bcb27b2b7e88e38f9fa535">FacBomManager::addToList</a> (lDummySegmentCabin, lDummyBookingClass);</div>
<div class="line">    <a class="code" href="a00535.html#a4f856d999ece4dac721ce2278072a0da">BookingClassList_T</a> lDummyBookingClassList;</div>
<div class="line">    lDummyBookingClassList.push_back(&amp;lDummyBookingClass);</div>
<div class="line"></div>
<div class="line">    VirtualClassStruct lDummyVirtualClass (lDummyBookingClassList);</div>
<div class="line">    lDummyVirtualClass.setYield (lYield);</div>
<div class="line">    lDummyVirtualClass.setMean (lMean);</div>
<div class="line">    lDummyVirtualClass.setStdDev (lStdDev);</div>
<div class="line">    <span class="comment">// Add the corresponding virtual class to the leg-cabin.</span></div>
<div class="line">    lDummyLegCabin.addVirtualClass (lDummyVirtualClass);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Second booking class yield and demand information.</span></div>
<div class="line">    lYield = 70;</div>
<div class="line">    lMean = 45;</div>
<div class="line">    lStdDev= 12;</div>
<div class="line">    lDummyBookingClass.setYield (lYield);</div>
<div class="line">    lDummyBookingClass.setMean (lMean);</div>
<div class="line">    lDummyBookingClass.setStdDev (lStdDev);</div>
<div class="line">    <span class="comment">// Add a booking class to the segment-cabin.</span></div>
<div class="line">    <a class="code" href="a00090.html#a732e7152a1bcb27b2b7e88e38f9fa535">FacBomManager::addToList</a> (lDummySegmentCabin, lDummyBookingClass);</div>
<div class="line"></div>
<div class="line">    lDummyVirtualClass.setYield (lYield);</div>
<div class="line">    lDummyVirtualClass.setMean (lMean);</div>
<div class="line">    lDummyVirtualClass.setStdDev (lStdDev);</div>
<div class="line">    <span class="comment">// Add the corresponding virtual class to the leg-cabin.</span></div>
<div class="line">    lDummyLegCabin.addVirtualClass (lDummyVirtualClass);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Third booking class yield and demand information.</span></div>
<div class="line">    lYield = 42;</div>
<div class="line">    lMean = 80;</div>
<div class="line">    lStdDev= 16;</div>
<div class="line">    lDummyBookingClass.setYield (lYield);</div>
<div class="line">    lDummyBookingClass.setMean (lMean);</div>
<div class="line">    lDummyBookingClass.setStdDev (lStdDev);</div>
<div class="line">    <span class="comment">// Add a booking class to the segment-cabin.</span></div>
<div class="line">    <a class="code" href="a00090.html#a732e7152a1bcb27b2b7e88e38f9fa535">FacBomManager::addToList</a> (lDummySegmentCabin, lDummyBookingClass);</div>
<div class="line"></div>
<div class="line">    lDummyVirtualClass.setYield (lYield);</div>
<div class="line">    lDummyVirtualClass.setMean (lMean);</div>
<div class="line">    lDummyVirtualClass.setStdDev (lStdDev);</div>
<div class="line">    <span class="comment">// Add the corresponding virtual class to the leg-cabin.</span></div>
<div class="line">    lDummyLegCabin.addVirtualClass (lDummyVirtualClass);</div>
<div class="line">    </div>
<div class="line">  }</div>
<div class="line">  </div>
<div class="line">  <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  <span class="keywordtype">void</span> CmdBomManager::buildDummyInventory (BomRoot&amp; ioBomRoot,</div>
<div class="line">                                           <span class="keyword">const</span> <a class="code" href="a00535.html#a2dd15bf37056ace1becadd061d66c07b">CabinCapacity_T</a>&amp; iCapacity) {</div>
<div class="line">    <span class="comment">// Inventory</span></div>
<div class="line">    <span class="keyword">const</span> InventoryKey lInventoryKey (<a class="code" href="a00535.html#a66fce9b8e19bbeb28b10759c8fde0b91">DEFAULT_AIRLINE_CODE</a>);</div>
<div class="line">    Inventory&amp; lInv = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;Inventory&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lInventoryKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lInv);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioBomRoot, lInv);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the airline feature object to the dummy inventory</span></div>
<div class="line">    <span class="keyword">const</span> AirlineFeatureKey lAirlineFeatureKey (<a class="code" href="a00535.html#a66fce9b8e19bbeb28b10759c8fde0b91">DEFAULT_AIRLINE_CODE</a>);</div>
<div class="line">    AirlineFeature&amp; lAirlineFeature =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineFeature&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirlineFeatureKey);</div>
<div class="line">    <a class="code" href="a00090.html#a4f2721b970ecfe34126d34afb2b54a35">FacBomManager::setAirlineFeature</a> (lInv, lAirlineFeature);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lInv, lAirlineFeature);</div>
<div class="line">    <span class="comment">// Link the airline feature object with the top of the BOM tree</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lAirlineFeature);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Flight-date</span></div>
<div class="line">    FlightDateKey lFlightDateKey(<a class="code" href="a00535.html#afe15dfcc167c06e03d3e21c062e1e43d">DEFAULT_FLIGHT_NUMBER</a>, <a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div>
<div class="line">    FlightDate&amp; lFlightDate =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FlightDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFlightDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lInv, lFlightDate);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lInv, lFlightDate);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Leg-date</span></div>
<div class="line">    LegDateKey lLegDateKey (<a class="code" href="a00535.html#a7b4e79a1f3b3df7fb604d77d2ee1213d">DEFAULT_ORIGIN</a>);</div>
<div class="line">    LegDate&amp; lLeg = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;LegDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLegDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFlightDate, lLeg);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lFlightDate, lLeg);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fill the LegDate content</span></div>
<div class="line">    lLeg.setOffPoint (<a class="code" href="a00535.html#a6613aee52652d3abae8bcd8e0f57abef">DEFAULT_DESTINATION</a>);</div>
<div class="line">    lLeg.setBoardingDate (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div>
<div class="line">    lLeg.setOffDate (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div>
<div class="line">    lLeg.setBoardingTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (14, 0, 0));</div>
<div class="line">    lLeg.setOffTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (16, 0, 0));</div>
<div class="line">    lLeg.setElapsedTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (8, 0, 0));</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Leg-cabin</span></div>
<div class="line">    LegCabinKey lLegCabinKey (<a class="code" href="a00535.html#a5848a0dee84541d22db6fb479686cb4b">DEFAULT_CABIN_CODE</a>);</div>
<div class="line">    LegCabin&amp; lLegCabin = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;LegCabin&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLegCabinKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLeg, lLegCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lLeg, lLegCabin);</div>
<div class="line"></div>
<div class="line">    lLegCabin.setCapacities (iCapacity);</div>
<div class="line">    lLegCabin.setAvailabilityPool (iCapacity);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Segment-date</span></div>
<div class="line">    SegmentDateKey lSegmentDateKey (<a class="code" href="a00535.html#a7b4e79a1f3b3df7fb604d77d2ee1213d">DEFAULT_ORIGIN</a>, <a class="code" href="a00535.html#a6613aee52652d3abae8bcd8e0f57abef">DEFAULT_DESTINATION</a>);</div>
<div class="line">    SegmentDate&amp; lSegment =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFlightDate, lSegment);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lFlightDate, lSegment); </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the routing leg key to the dummy segment.</span></div>
<div class="line">    std::ostringstream oStr;</div>
<div class="line">    oStr &lt;&lt; <a class="code" href="a00535.html#a66fce9b8e19bbeb28b10759c8fde0b91">DEFAULT_AIRLINE_CODE</a> &lt;&lt; <span class="stringliteral">&quot;;&quot;</span></div>
<div class="line">         &lt;&lt; <a class="code" href="a00535.html#afe15dfcc167c06e03d3e21c062e1e43d">DEFAULT_FLIGHT_NUMBER</a> &lt;&lt; <span class="stringliteral">&quot;;&quot;</span> </div>
<div class="line">         &lt;&lt; <a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a> &lt;&lt; <span class="stringliteral">&quot;;&quot;</span></div>
<div class="line">         &lt;&lt; <a class="code" href="a00535.html#a7b4e79a1f3b3df7fb604d77d2ee1213d">DEFAULT_ORIGIN</a>;</div>
<div class="line">    lSegment.addLegKey (oStr.str());</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fill the SegmentDate content</span></div>
<div class="line">    lSegment.setBoardingDate (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div>
<div class="line">    lSegment.setOffDate (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div>
<div class="line">    lSegment.setBoardingTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (14, 0, 0));</div>
<div class="line">    lSegment.setOffTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (16, 0, 0));</div>
<div class="line">    lSegment.setElapsedTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (8, 0, 0));</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Segment-cabin</span></div>
<div class="line">    SegmentCabinKey lSegmentCabinKey (<a class="code" href="a00535.html#a5848a0dee84541d22db6fb479686cb4b">DEFAULT_CABIN_CODE</a>);</div>
<div class="line">    SegmentCabin&amp; lSegmentCabin =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentCabin&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentCabinKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegment, lSegmentCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSegment, lSegmentCabin);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a FareFamily (1) for the Segment LHR-BKK, cabin Y on BA&#39;s Inv</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#aa8f1eaf9bbab3ad018c9e96be9b1a45d">FamilyCode_T</a> l1 (<span class="stringliteral">&quot;EcoSaver&quot;</span>);</div>
<div class="line">    FareFamilyKey l1FareFamilyKey (l1);</div>
<div class="line"></div>
<div class="line">    FareFamily&amp; lSegmentYCabin1Family =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFamily&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentCabin, lSegmentYCabin1Family);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSegmentCabin, lSegmentYCabin1Family);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a booking-class</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lQ (<span class="stringliteral">&quot;Q&quot;</span>);</div>
<div class="line">    BookingClassKey lQBookingClassKey (lQ);</div>
<div class="line"></div>
<div class="line">    BookingClass&amp; lSegmentYCabin1FamilyQClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lQBookingClassKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentYCabin1Family,</div>
<div class="line">                                    lSegmentYCabin1FamilyQClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSegmentYCabin1Family,</div>
<div class="line">                                   lSegmentYCabin1FamilyQClass);</div>
<div class="line">    </div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentCabin, lSegmentYCabin1FamilyQClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegment, lSegmentYCabin1FamilyQClass);</div>
<div class="line"></div>
<div class="line">    <span class="comment">/*================================================================================</span></div>
<div class="line"><span class="comment">      ================================================================================</span></div>
<div class="line"><span class="comment">      ================================================================================*/</span></div>
<div class="line">    <span class="comment">// Schedule:</span></div>
<div class="line">    <span class="comment">// XX:</span></div>
<div class="line">    <span class="comment">// Step 1: flight period level</span></div>
<div class="line">    <span class="comment">// Create a flight period for XX:</span></div>
<div class="line">    <span class="keyword">const</span> DoWStruct lDoWSrtuct (<span class="stringliteral">&quot;1111111&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lXXDateRangeStart (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lXXDateRangeEnd (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a923842effcf1b0dc1001731efc276d8b">DatePeriod_T</a> lXXDatePeriod (lXXDateRangeStart, lXXDateRangeEnd);</div>
<div class="line">    <span class="keyword">const</span> PeriodStruct lXXPeriodStruct (lXXDatePeriod, lDoWSrtuct);</div>
<div class="line"></div>
<div class="line">    FlightPeriodKey lXXFlightPeriodKey (<a class="code" href="a00535.html#afe15dfcc167c06e03d3e21c062e1e43d">DEFAULT_FLIGHT_NUMBER</a>, lXXPeriodStruct);</div>
<div class="line"></div>
<div class="line">    FlightPeriod&amp; lXXFlightPeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FlightPeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lXXFlightPeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lInv, lXXFlightPeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lInv, lXXFlightPeriod);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 2: segment period level</span></div>
<div class="line">    <span class="comment">// Create a segment period </span></div>
<div class="line"></div>
<div class="line">    SegmentPeriodKey lXXSegmentPeriodKey (DEFAULT_ORIGIN, <a class="code" href="a00535.html#a6613aee52652d3abae8bcd8e0f57abef">DEFAULT_DESTINATION</a>);</div>
<div class="line"></div>
<div class="line">    SegmentPeriod&amp; lXXSegmentPeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentPeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lXXSegmentPeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lXXFlightPeriod, lXXSegmentPeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lXXFlightPeriod, lXXSegmentPeriod);</div>
<div class="line"></div>
<div class="line">    lXXSegmentPeriod.setBoardingTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (14, 0, 0));</div>
<div class="line">    lXXSegmentPeriod.setOffTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (16, 0, 0));</div>
<div class="line">    lXXSegmentPeriod.setElapsedTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (8, 0, 0));</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af6e007ccf2f470cad8779ea76dc958c1">CabinCode_T</a> lY (<span class="stringliteral">&quot;Y&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a8955958d7655605902d49df1588c3dad">ClassList_String_T</a> lYQ (<span class="stringliteral">&quot;YQ&quot;</span>);</div>
<div class="line">    lXXSegmentPeriod.addCabinBookingClassList (lY,lYQ);</div>
<div class="line"></div>
<div class="line"></div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">  <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  <span class="keywordtype">void</span> CmdBomManager::</div>
<div class="line">  buildCompleteDummyInventoryForFareFamilies (BomRoot&amp; ioBomRoot) {</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Build a dummy inventory, containing a dummy flight-date with a</span></div>
<div class="line">    <span class="comment">// single segment-cabin and a single leg-cabin (for fare families </span></div>
<div class="line">    <span class="comment">// algorithms)</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Get the default Inventory object (already built in by construction)</span></div>
<div class="line">    <span class="keyword">const</span> InventoryKey lInventoryKey (<a class="code" href="a00535.html#a66fce9b8e19bbeb28b10759c8fde0b91">DEFAULT_AIRLINE_CODE</a>);</div>
<div class="line">    Inventory&amp; lInv = BomManager::getObject&lt;Inventory&gt;(ioBomRoot,</div>
<div class="line">                                                  lInventoryKey.toString());</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a dummy Flight-date</span></div>
<div class="line">    <span class="keyword">const</span> FlightDateKey lFlightDateKey(<a class="code" href="a00535.html#adeba05b12ba23987eef1c9b56a06373c">DEFAULT_FLIGHT_NUMBER_FF</a>, </div>
<div class="line">                                       <a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div>
<div class="line">    FlightDate&amp; lFlightDate = </div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FlightDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFlightDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lInv, lFlightDate);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lInv, lFlightDate);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a dummy Leg-date</span></div>
<div class="line">    LegDateKey lLegDateKey (DEFAULT_ORIGIN);</div>
<div class="line">    LegDate&amp; lLeg = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;LegDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLegDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFlightDate, lLeg);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lFlightDate, lLeg);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fill the LegDate content</span></div>
<div class="line">    lLeg.setOffPoint (<a class="code" href="a00535.html#a6613aee52652d3abae8bcd8e0f57abef">DEFAULT_DESTINATION</a>);</div>
<div class="line">    lLeg.setBoardingDate (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div>
<div class="line">    lLeg.setOffDate (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div>
<div class="line">    lLeg.setBoardingTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (14, 0, 0));</div>
<div class="line">    lLeg.setOffTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (16, 0, 0));</div>
<div class="line">    lLeg.setElapsedTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (8, 0, 0));</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a dummy Leg-cabin</span></div>
<div class="line">    <span class="keyword">const</span> LegCabinKey lLegCabinKey (<a class="code" href="a00535.html#a5848a0dee84541d22db6fb479686cb4b">DEFAULT_CABIN_CODE</a>);</div>
<div class="line">    LegCabin&amp; lLegCabin = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;LegCabin&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLegCabinKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lLeg, lLegCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lLeg, lLegCabin);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2dd15bf37056ace1becadd061d66c07b">CabinCapacity_T</a> lCapacity = <a class="code" href="a00535.html#aa471e14e464668c4ba835d267af17341">DEFAULT_CABIN_CAPACITY</a>;</div>
<div class="line">    lLegCabin.setCapacities (lCapacity);</div>
<div class="line">    lLegCabin.setAvailabilityPool (lCapacity);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a dummy Segment-date</span></div>
<div class="line">    <span class="keyword">const</span> SegmentDateKey lSegmentDateKey (DEFAULT_ORIGIN, <a class="code" href="a00535.html#a6613aee52652d3abae8bcd8e0f57abef">DEFAULT_DESTINATION</a>);</div>
<div class="line">    SegmentDate&amp; lSegment =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFlightDate, lSegment);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lFlightDate, lSegment); </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the routing leg key to the dummy segment.</span></div>
<div class="line">    std::ostringstream oStr;</div>
<div class="line">    oStr &lt;&lt; <a class="code" href="a00535.html#a66fce9b8e19bbeb28b10759c8fde0b91">DEFAULT_AIRLINE_CODE</a> &lt;&lt; <span class="stringliteral">&quot;;&quot;</span></div>
<div class="line">         &lt;&lt; <a class="code" href="a00535.html#afe15dfcc167c06e03d3e21c062e1e43d">DEFAULT_FLIGHT_NUMBER</a> &lt;&lt; <span class="stringliteral">&quot;;&quot;</span> </div>
<div class="line">         &lt;&lt; <a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a> &lt;&lt; <span class="stringliteral">&quot;;&quot;</span></div>
<div class="line">         &lt;&lt; <a class="code" href="a00535.html#a7b4e79a1f3b3df7fb604d77d2ee1213d">DEFAULT_ORIGIN</a>;</div>
<div class="line">    lSegment.addLegKey (oStr.str());</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fill the SegmentDate content</span></div>
<div class="line">    lSegment.setBoardingDate (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div>
<div class="line">    lSegment.setOffDate (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div>
<div class="line">    lSegment.setBoardingTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (14, 0, 0));</div>
<div class="line">    lSegment.setOffTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (16, 0, 0));</div>
<div class="line">    lSegment.setElapsedTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (8, 0, 0));</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a dummy Segment-cabin</span></div>
<div class="line">    <span class="keyword">const</span> SegmentCabinKey lSegmentCabinKey (<a class="code" href="a00535.html#a5848a0dee84541d22db6fb479686cb4b">DEFAULT_CABIN_CODE</a>);</div>
<div class="line">    SegmentCabin&amp; lSegmentCabin =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentCabin&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentCabinKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegment, lSegmentCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSegment, lSegmentCabin);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a dummy FareFamily (FF1) </span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#aa8f1eaf9bbab3ad018c9e96be9b1a45d">FamilyCode_T</a> l1 (<span class="stringliteral">&quot;FF1&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> FareFamilyKey l1FareFamilyKey (l1);</div>
<div class="line"></div>
<div class="line">    FareFamily&amp; lSegmentYCabin1Family =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFamily&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div>
<div class="line">    <span class="comment">// Set the forecasted demand</span></div>
<div class="line">    <span class="comment">// TODO change the size (hard code)</span></div>
<div class="line">    <a class="code" href="a00535.html#a8b604fc4a6a53961b5826534f810adae">MeanStdDevPairVector_T</a> lDemandVector1FareFamily;</div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> size = 16;</div>
<div class="line">    <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> idx = 0; idx &lt; size; ++idx) {</div>
<div class="line">      <span class="keywordtype">double</span> i = <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span> (idx);</div>
<div class="line">      <a class="code" href="a00535.html#a2d11d25d3d03504ff4a4542381744fe4">MeanStdDevPair_T</a> lMeanStdDevPair (i/4.0, i/20.0);</div>
<div class="line">      lDemandVector1FareFamily.push_back(lMeanStdDevPair);</div>
<div class="line">    }</div>
<div class="line">    lSegmentYCabin1Family.setMeanStdDev(lDemandVector1FareFamily);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentCabin, lSegmentYCabin1Family);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSegmentCabin, lSegmentYCabin1Family);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a dummy booking-class</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lY (<span class="stringliteral">&quot;Y&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> BookingClassKey lYBookingClassKey (lY);</div>
<div class="line"></div>
<div class="line">    BookingClass&amp; lSegmentYCabin1FamilyYClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYBookingClassKey);</div>
<div class="line">    <a class="code" href="a00535.html#a941af3a267bc922f2dd2c1910c629347">Yield_T</a> lYield = 1000;</div>
<div class="line">    lSegmentYCabin1FamilyYClass.setYield(lYield);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentYCabin1Family,</div>
<div class="line">                                    lSegmentYCabin1FamilyYClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSegmentYCabin1Family,</div>
<div class="line">                                   lSegmentYCabin1FamilyYClass);</div>
<div class="line">    </div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentCabin, lSegmentYCabin1FamilyYClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegment, lSegmentYCabin1FamilyYClass);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a second dummy booking-class</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lU (<span class="stringliteral">&quot;U&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> BookingClassKey lUBookingClassKey (lU);</div>
<div class="line"></div>
<div class="line">    BookingClass&amp; lSegmentYCabin1FamilyUClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lUBookingClassKey);</div>
<div class="line">    lYield = 600;</div>
<div class="line">    lSegmentYCabin1FamilyUClass.setYield(lYield);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentYCabin1Family,</div>
<div class="line">                                    lSegmentYCabin1FamilyUClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSegmentYCabin1Family,</div>
<div class="line">                                   lSegmentYCabin1FamilyUClass);</div>
<div class="line">    </div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentCabin, lSegmentYCabin1FamilyUClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegment, lSegmentYCabin1FamilyUClass);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a second dummy FareFamily (2) </span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#aa8f1eaf9bbab3ad018c9e96be9b1a45d">FamilyCode_T</a> l2 (<span class="stringliteral">&quot;FF2&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> FareFamilyKey l2FareFamilyKey (l2);</div>
<div class="line"></div>
<div class="line">    FareFamily&amp; lSegmentYCabin2Family =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFamily&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l2FareFamilyKey);</div>
<div class="line">    <span class="comment">// Set the forecasted demand</span></div>
<div class="line">    <span class="comment">// TODO change the size (hard code)</span></div>
<div class="line">    <a class="code" href="a00535.html#a8b604fc4a6a53961b5826534f810adae">MeanStdDevPairVector_T</a> lDemandVector2FareFamily;</div>
<div class="line">    <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> idx = 0; idx &lt; size; ++idx) {</div>
<div class="line">      <span class="keywordtype">double</span> i = <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span> (idx);</div>
<div class="line">      <a class="code" href="a00535.html#a2d11d25d3d03504ff4a4542381744fe4">MeanStdDevPair_T</a> lMeanStdDevPair (i/2.0, i/10.0);</div>
<div class="line">      lDemandVector2FareFamily.push_back(lMeanStdDevPair);</div>
<div class="line">    }</div>
<div class="line">    lSegmentYCabin2Family.setMeanStdDev(lDemandVector2FareFamily);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentCabin, lSegmentYCabin2Family);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSegmentCabin, lSegmentYCabin2Family);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a third dummy booking-class</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lO (<span class="stringliteral">&quot;O&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> BookingClassKey lOBookingClassKey (lO);</div>
<div class="line"></div>
<div class="line">    BookingClass&amp; lSegmentYCabin2FamilyOClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lOBookingClassKey);</div>
<div class="line">    lYield = 750;</div>
<div class="line">    lSegmentYCabin2FamilyOClass.setYield(lYield);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentYCabin2Family,</div>
<div class="line">                                    lSegmentYCabin2FamilyOClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSegmentYCabin2Family,</div>
<div class="line">                                   lSegmentYCabin2FamilyOClass);</div>
<div class="line">    </div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentCabin, lSegmentYCabin2FamilyOClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegment, lSegmentYCabin2FamilyOClass);</div>
<div class="line"></div>
<div class="line">     <span class="comment">// Create a fourth dummy booking-class</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lQ (<span class="stringliteral">&quot;Q&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> BookingClassKey lQBookingClassKey (lQ);</div>
<div class="line"></div>
<div class="line">    BookingClass&amp; lSegmentYCabin2FamilyQClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lQBookingClassKey);</div>
<div class="line">    lYield = 400;</div>
<div class="line">    lSegmentYCabin2FamilyQClass.setYield(lYield);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentYCabin2Family,</div>
<div class="line">                                    lSegmentYCabin2FamilyQClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSegmentYCabin2Family,</div>
<div class="line">                                   lSegmentYCabin2FamilyQClass);</div>
<div class="line">    </div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegmentCabin, lSegmentYCabin2FamilyQClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSegment, lSegmentYCabin2FamilyQClass);</div>
<div class="line"></div>
<div class="line"></div>
<div class="line">    <span class="comment">/*================================================================================</span></div>
<div class="line"><span class="comment">      ================================================================================</span></div>
<div class="line"><span class="comment">      ================================================================================*/</span></div>
<div class="line">    <span class="comment">// Schedule:</span></div>
<div class="line">    <span class="comment">// XX:</span></div>
<div class="line">    <span class="comment">// Step 1: flight period level</span></div>
<div class="line">    <span class="comment">// Create a flight period for XX:</span></div>
<div class="line">    <span class="keyword">const</span> DoWStruct lDoWSrtuct (<span class="stringliteral">&quot;1111111&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lXXDateRangeStart (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lXXDateRangeEnd (<a class="code" href="a00535.html#aec702610db69a740670bcd9ab1aec39f">DEFAULT_DEPARTURE_DATE</a>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a923842effcf1b0dc1001731efc276d8b">DatePeriod_T</a> lXXDatePeriod (lXXDateRangeStart, lXXDateRangeEnd);</div>
<div class="line">    <span class="keyword">const</span> PeriodStruct lXXPeriodStruct (lXXDatePeriod, lDoWSrtuct);</div>
<div class="line"></div>
<div class="line">    <span class="keyword">const</span> FlightPeriodKey lXXFlightPeriodKey (<a class="code" href="a00535.html#adeba05b12ba23987eef1c9b56a06373c">DEFAULT_FLIGHT_NUMBER_FF</a>, </div>
<div class="line">                                              lXXPeriodStruct);</div>
<div class="line"></div>
<div class="line">    FlightPeriod&amp; lXXFlightPeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FlightPeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lXXFlightPeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lInv, lXXFlightPeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lInv, lXXFlightPeriod);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 2: segment period level</span></div>
<div class="line">    <span class="comment">// Create a segment period </span></div>
<div class="line">    <span class="keyword">const</span> SegmentPeriodKey lXXSegmentPeriodKey (DEFAULT_ORIGIN, </div>
<div class="line">                                                <a class="code" href="a00535.html#a6613aee52652d3abae8bcd8e0f57abef">DEFAULT_DESTINATION</a>);</div>
<div class="line"></div>
<div class="line">    SegmentPeriod&amp; lXXSegmentPeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentPeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lXXSegmentPeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lXXFlightPeriod, lXXSegmentPeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lXXFlightPeriod, lXXSegmentPeriod);</div>
<div class="line"></div>
<div class="line">    lXXSegmentPeriod.setBoardingTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (14, 0, 0));</div>
<div class="line">    lXXSegmentPeriod.setOffTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (16, 0, 0));</div>
<div class="line">    lXXSegmentPeriod.setElapsedTime (<a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> (8, 0, 0));</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af6e007ccf2f470cad8779ea76dc958c1">CabinCode_T</a> lYCabin (<span class="stringliteral">&quot;Y&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a8955958d7655605902d49df1588c3dad">ClassList_String_T</a> lYUOQ (<span class="stringliteral">&quot;YUOQ&quot;</span>);</div>
<div class="line">    lXXSegmentPeriod.addCabinBookingClassList (lYCabin,lYUOQ);</div>
<div class="line"></div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">  <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  <span class="keywordtype">void</span> CmdBomManager::buildSamplePricing (BomRoot&amp; ioBomRoot) {</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Set the airport-pair primary key.</span></div>
<div class="line">    <span class="keyword">const</span> AirportPairKey lAirportPairKey (<a class="code" href="a00535.html#acc57101721a7e3fb24f885b88b419370">AIRPORT_LHR</a>, <a class="code" href="a00535.html#a56c9bd57c0133c5226df658b9df7e1ae">AIRPORT_SYD</a>);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Create the AirportPairKey object and link it to the BOM tree root.</span></div>
<div class="line">    AirportPair&amp; lAirportPair =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirportPair&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirportPairKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lAirportPair);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioBomRoot, lAirportPair);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Set the fare date-period primary key.</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDateRangeStart (2011, boost::gregorian::Jan, 15);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDateRangeEnd (2011, boost::gregorian::Dec, 31);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a923842effcf1b0dc1001731efc276d8b">DatePeriod_T</a> lDateRange (lDateRangeStart, lDateRangeEnd);</div>
<div class="line">    <span class="keyword">const</span> DatePeriodKey lDatePeriodKey (lDateRange);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the DatePeriodKey object and link it to the PosChannel object.</span></div>
<div class="line">    DatePeriod&amp; lDatePeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;DatePeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lDatePeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lAirportPair, lDatePeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lAirportPair, lDatePeriod);    </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Set the point-of-sale-channel primary key.</span></div>
<div class="line">    <span class="keyword">const</span> PosChannelKey lPosChannelKey (<a class="code" href="a00535.html#ab056bf0d57300ddf019fca07f1f12c7b">POS_LHR</a>, <a class="code" href="a00535.html#a2f70c12a8f2fdb14bd4cc62fcee0d768">CHANNEL_DN</a>);  </div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Create the PositionKey object and link it to the AirportPair object.</span></div>
<div class="line">    PosChannel&amp; lPosChannel =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;PosChannel&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lPosChannelKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lDatePeriod, lPosChannel);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lDatePeriod, lPosChannel);</div>
<div class="line">   </div>
<div class="line">    <span class="comment">// Set the fare time-period primary key.</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a43f981bcd64afe6461278a030d27a926">Time_T</a> lTimeRangeStart (0, 0, 0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a43f981bcd64afe6461278a030d27a926">Time_T</a> lTimeRangeEnd (23, 0, 0);</div>
<div class="line">    <span class="keyword">const</span> TimePeriodKey lTimePeriodKey (lTimeRangeStart, lTimeRangeEnd);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the TimePeriodKey and link it to the DatePeriod object.</span></div>
<div class="line">    TimePeriod&amp; lTimePeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;TimePeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lTimePeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lPosChannel, lTimePeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lPosChannel, lTimePeriod);        </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Pricing -- Generate the FareRule</span></div>
<div class="line">    <span class="keyword">const</span> FareFeaturesKey lFareFeaturesKey (<a class="code" href="a00535.html#a4166cba933e5ac4fa65a5aafa54d0e75">TRIP_TYPE_ROUND_TRIP</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#ac5fd6594bf2de33d06b23bd4e43a105b">NO_ADVANCE_PURCHASE</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#a1b503a046b9c5411e3e654ffdd37d172">SATURDAY_STAY</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#a098519aaf969d6a7bebf92c9efaff8b3">CHANGE_FEES</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#a4b4f8046523b594260d8831509ad17ac">NON_REFUNDABLE</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#a5ac86e869590cb3658d5f7c61e3b3288">NO_STAY_DURATION</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the FareFeaturesKey and link it to the TimePeriod object.</span></div>
<div class="line">    FareFeatures&amp; lFareFeatures =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFeatures&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareFeaturesKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lTimePeriod, lFareFeatures);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lTimePeriod, lFareFeatures);        </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Revenue Accounting -- Generate the YieldRule</span></div>
<div class="line">    <span class="keyword">const</span> YieldFeaturesKey lYieldFeaturesKey (<a class="code" href="a00535.html#a4166cba933e5ac4fa65a5aafa54d0e75">TRIP_TYPE_ROUND_TRIP</a>,</div>
<div class="line">                                              <a class="code" href="a00535.html#a875f1a1f5fff074dde2beacd6f362e5f">CABIN_Y</a>);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Create the YieldFeaturesKey and link it to the TimePeriod object.</span></div>
<div class="line">    YieldFeatures&amp; lYieldFeatures =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;YieldFeatures&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYieldFeaturesKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lTimePeriod, lYieldFeatures);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lTimePeriod, lYieldFeatures);     </div>
<div class="line">                                              </div>
<div class="line">    <span class="comment">// Generate Segment Features and link them to their respective</span></div>
<div class="line">    <span class="comment">// fare and yield rules.</span></div>
<div class="line">    <a class="code" href="a00535.html#add4270789c27c30c5e0790dc75975bcc">AirlineCodeList_T</a> lAirlineCodeList;</div>
<div class="line">    lAirlineCodeList.push_back (<a class="code" href="a00535.html#a27032d53cbb58800dac81feb4c0bc33f">AIRLINE_CODE_BA</a>);</div>
<div class="line">    <a class="code" href="a00535.html#a69c4d11d732cf09e256e34c0b94db5f1">ClassList_StringList_T</a> lClassCodeList;</div>
<div class="line">    lClassCodeList.push_back (<a class="code" href="a00535.html#a213d441e58f58176171c9fa28e75e263">CLASS_CODE_Y</a>);</div>
<div class="line">    <span class="keyword">const</span> AirlineClassListKey lAirlineClassListKey (lAirlineCodeList,</div>
<div class="line">                                                    lClassCodeList);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the AirlineClassList</span></div>
<div class="line">    AirlineClassList&amp; lAirlineClassList =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineClassList&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirlineClassListKey);</div>
<div class="line">    <span class="comment">// Link the AirlineClassList to the FareFeatures object</span></div>
<div class="line">    lAirlineClassList.setFare (900);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFareFeatures, lAirlineClassList);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lFareFeatures, lAirlineClassList);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Link the AirlineClassList to the YieldFeatures object</span></div>
<div class="line">    lAirlineClassList.setYield (900);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lYieldFeatures, lAirlineClassList);</div>
<div class="line">    <span class="comment">// \todo (gsabatier): the following calls overrides the parent for</span></div>
<div class="line">    <span class="comment">//       lAirlineClassList. Check that it is what is actually wanted.</span></div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lYieldFeatures, lAirlineClassList);</div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">  <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  <span class="keywordtype">void</span> CmdBomManager::buildSamplePricingForFareFamilies (BomRoot&amp; ioBomRoot) {</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Get the airport-pair primary key SIN-BKK</span></div>
<div class="line">    <span class="comment">// (already built by construction)</span></div>
<div class="line">    <span class="keyword">const</span> AirportPairKey lAirportPairKey (<span class="stringliteral">&quot;SIN&quot;</span>, <span class="stringliteral">&quot;BKK&quot;</span>);</div>
<div class="line">    AirportPair&amp; lAirportPair =</div>
<div class="line">      BomManager::getObject&lt;AirportPair&gt;(ioBomRoot, lAirportPairKey.toString());</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Set the fare date-period primary key.</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDateRangeStart (2010, boost::gregorian::Feb, 1);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDateRangeEnd (2011, boost::gregorian::Feb, 15);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a923842effcf1b0dc1001731efc276d8b">DatePeriod_T</a> lDateRange (lDateRangeStart, lDateRangeEnd);</div>
<div class="line">    <span class="keyword">const</span> DatePeriodKey lDatePeriodKey (lDateRange);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the DatePeriodKey object and link it to the PosChannel object.</span></div>
<div class="line">    DatePeriod&amp; lDatePeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;DatePeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lDatePeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lAirportPair, lDatePeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lAirportPair, lDatePeriod);  </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Set the point-of-sale-channel primary key.</span></div>
<div class="line">    <span class="keyword">const</span> PosChannelKey lPosChannelKey (<span class="stringliteral">&quot;SIN&quot;</span>, <a class="code" href="a00535.html#af39c23bd8d9a5aa95f75e7f997b5af25">CHANNEL_IN</a>);  </div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Create the PositionKey object and link it to the AirportPair object.</span></div>
<div class="line">    PosChannel&amp; lPosChannel =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;PosChannel&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lPosChannelKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lDatePeriod, lPosChannel);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lDatePeriod, lPosChannel);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Set the fare time-period primary key.</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a43f981bcd64afe6461278a030d27a926">Time_T</a> lTimeRangeStart (0, 0, 0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a43f981bcd64afe6461278a030d27a926">Time_T</a> lTimeRangeEnd (23, 0, 0);</div>
<div class="line">    <span class="keyword">const</span> TimePeriodKey lTimePeriodKey (lTimeRangeStart, lTimeRangeEnd);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the TimePeriodKey and link it to the DatePeriod object.</span></div>
<div class="line">    TimePeriod&amp; lTimePeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;TimePeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lTimePeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lPosChannel, lTimePeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lPosChannel, lTimePeriod);        </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Pricing -- Generate the FareRule</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ad35d13dc390443e736db5bca9bfe1966">DayDuration_T</a> ONE_MONTH_ADVANCE_PURCHASE = 30;</div>
<div class="line">    <span class="comment">// Generate the first FareFeatures for the class Q </span></div>
<div class="line">    <span class="keyword">const</span> FareFeaturesKey lFareFeaturesQKey (<a class="code" href="a00535.html#aa60ce98643163d352528344851cd15c6">TRIP_TYPE_ONE_WAY</a>,</div>
<div class="line">                                            ONE_MONTH_ADVANCE_PURCHASE,</div>
<div class="line">                                            <a class="code" href="a00535.html#a1b503a046b9c5411e3e654ffdd37d172">SATURDAY_STAY</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#a098519aaf969d6a7bebf92c9efaff8b3">CHANGE_FEES</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#a4b4f8046523b594260d8831509ad17ac">NON_REFUNDABLE</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#a5ac86e869590cb3658d5f7c61e3b3288">NO_STAY_DURATION</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the FareFeaturesKey and link it to the TimePeriod object.</span></div>
<div class="line">    FareFeatures&amp; lFareFeaturesQ =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFeatures&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareFeaturesQKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lTimePeriod, lFareFeaturesQ);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lTimePeriod, lFareFeaturesQ);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Generate the second FareFeatures for the class M </span></div>
<div class="line">    <span class="keyword">const</span> FareFeaturesKey lFareFeaturesMKey (<a class="code" href="a00535.html#aa60ce98643163d352528344851cd15c6">TRIP_TYPE_ONE_WAY</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#ac5fd6594bf2de33d06b23bd4e43a105b">NO_ADVANCE_PURCHASE</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#a1b503a046b9c5411e3e654ffdd37d172">SATURDAY_STAY</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#a098519aaf969d6a7bebf92c9efaff8b3">CHANGE_FEES</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#a4b4f8046523b594260d8831509ad17ac">NON_REFUNDABLE</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#a5ac86e869590cb3658d5f7c61e3b3288">NO_STAY_DURATION</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the FareFeaturesKey and link it to the TimePeriod object.</span></div>
<div class="line">    FareFeatures&amp; lFareFeaturesM =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFeatures&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareFeaturesMKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lTimePeriod, lFareFeaturesM);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lTimePeriod, lFareFeaturesM); </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Generate the third FareFeatures for the class B</span></div>
<div class="line">    <span class="keyword">const</span> FareFeaturesKey lFareFeaturesBKey (<a class="code" href="a00535.html#aa60ce98643163d352528344851cd15c6">TRIP_TYPE_ONE_WAY</a>,</div>
<div class="line">                                             ONE_MONTH_ADVANCE_PURCHASE,</div>
<div class="line">                                             <a class="code" href="a00535.html#a1b503a046b9c5411e3e654ffdd37d172">SATURDAY_STAY</a>,</div>
<div class="line">                                             <a class="code" href="a00535.html#aa8330523d491376b01c52aa8272fa1f2">NO_CHANGE_FEES</a>,</div>
<div class="line">                                             <a class="code" href="a00535.html#a97a1661026099c3f0399049fb2b4a581">NO_NON_REFUNDABLE</a>,<span class="comment">//Refundable</span></div>
<div class="line">                                             <a class="code" href="a00535.html#a5ac86e869590cb3658d5f7c61e3b3288">NO_STAY_DURATION</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the FareFeaturesKey and link it to the TimePeriod object.</span></div>
<div class="line">    FareFeatures&amp; lFareFeaturesB =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFeatures&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareFeaturesBKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lTimePeriod, lFareFeaturesB);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lTimePeriod, lFareFeaturesB);       </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Generate the fourth FareFeatures for the class Y</span></div>
<div class="line">    <span class="keyword">const</span> FareFeaturesKey lFareFeaturesYKey (<a class="code" href="a00535.html#aa60ce98643163d352528344851cd15c6">TRIP_TYPE_ONE_WAY</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#ac5fd6594bf2de33d06b23bd4e43a105b">NO_ADVANCE_PURCHASE</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#a1b503a046b9c5411e3e654ffdd37d172">SATURDAY_STAY</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#aa8330523d491376b01c52aa8272fa1f2">NO_CHANGE_FEES</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#a97a1661026099c3f0399049fb2b4a581">NO_NON_REFUNDABLE</a>,<span class="comment">//Refundable</span></div>
<div class="line">                                            <a class="code" href="a00535.html#a5ac86e869590cb3658d5f7c61e3b3288">NO_STAY_DURATION</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the FareFeaturesKey and link it to the TimePeriod object.</span></div>
<div class="line">    FareFeatures&amp; lFareFeaturesY =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFeatures&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareFeaturesYKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lTimePeriod, lFareFeaturesY);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lTimePeriod, lFareFeaturesY);</div>
<div class="line">  </div>
<div class="line">    <span class="comment">// Revenue Accounting -- Generate the YieldRule</span></div>
<div class="line">    <span class="keyword">const</span> YieldFeaturesKey lYieldFeaturesKey (<a class="code" href="a00535.html#aa60ce98643163d352528344851cd15c6">TRIP_TYPE_ONE_WAY</a>,</div>
<div class="line">                                              <a class="code" href="a00535.html#a875f1a1f5fff074dde2beacd6f362e5f">CABIN_Y</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the YieldFeaturesKey and link it to the TimePeriod object.</span></div>
<div class="line">    YieldFeatures&amp; lYieldFeatures =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;YieldFeatures&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYieldFeaturesKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lTimePeriod, lYieldFeatures);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lTimePeriod, lYieldFeatures);</div>
<div class="line">                                  </div>
<div class="line">    <span class="comment">// Generate Segment Features and link them to their respective</span></div>
<div class="line">    <span class="comment">// fare and yield rules.</span></div>
<div class="line">    <a class="code" href="a00535.html#add4270789c27c30c5e0790dc75975bcc">AirlineCodeList_T</a> lAirlineCodeList;</div>
<div class="line">    lAirlineCodeList.push_back (<span class="stringliteral">&quot;SQ&quot;</span>);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00535.html#a69c4d11d732cf09e256e34c0b94db5f1">ClassList_StringList_T</a> lClassYList;</div>
<div class="line">    lClassYList.push_back (<a class="code" href="a00535.html#a213d441e58f58176171c9fa28e75e263">CLASS_CODE_Y</a>);</div>
<div class="line">    <span class="keyword">const</span> AirlineClassListKey lAirlineClassYListKey (lAirlineCodeList,</div>
<div class="line">                                                    lClassYList);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Create the AirlineClassList</span></div>
<div class="line">    AirlineClassList&amp; lAirlineClassYList =</div>
<div class="line">        <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineClassList&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirlineClassYListKey);</div>
<div class="line">    <span class="comment">// Link the AirlineClassList to the FareFeatures object</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFareFeaturesY, lAirlineClassYList);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lFareFeaturesY, lAirlineClassYList);</div>
<div class="line">    lAirlineClassYList.setFare (1200);    </div>
<div class="line">    lAirlineClassYList.setYield (1200);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Link the AirlineClassList to the YieldFeatures object</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lYieldFeatures, lAirlineClassYList);</div>
<div class="line">    <span class="comment">// \todo (gsabatier): the following calls overrides the parent for</span></div>
<div class="line">    <span class="comment">//       lAirlineClassList. Check that it is what is actually wanted.</span></div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lYieldFeatures, lAirlineClassYList);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00535.html#a69c4d11d732cf09e256e34c0b94db5f1">ClassList_StringList_T</a> lClassBList;</div>
<div class="line">    lClassBList.push_back (<span class="stringliteral">&quot;B&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> AirlineClassListKey lAirlineClassBListKey (lAirlineCodeList,</div>
<div class="line">                                                     lClassBList);</div>
<div class="line">    <span class="comment">// Create the AirlineClassList</span></div>
<div class="line">    AirlineClassList&amp; lAirlineClassBList =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineClassList&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirlineClassBListKey);</div>
<div class="line">    <span class="comment">// Link the AirlineClassList to the FareFeatures object</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFareFeaturesB, lAirlineClassBList);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lFareFeaturesB, lAirlineClassBList);</div>
<div class="line">    lAirlineClassBList.setFare (800); </div>
<div class="line">    lAirlineClassBList.setYield (800);</div>
<div class="line">  </div>
<div class="line">    <span class="comment">// Link the AirlineClassList to the YieldFeatures object</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lYieldFeatures, lAirlineClassBList);</div>
<div class="line">    <span class="comment">// \todo (gsabatier): the following calls overrides the parent for</span></div>
<div class="line">    <span class="comment">//       lAirlineClassList. Check that it is what is actually wanted.</span></div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lYieldFeatures, lAirlineClassBList);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00535.html#a69c4d11d732cf09e256e34c0b94db5f1">ClassList_StringList_T</a> lClassMList;</div>
<div class="line">    lClassMList.push_back (<span class="stringliteral">&quot;M&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> AirlineClassListKey lAirlineClassMListKey (lAirlineCodeList,</div>
<div class="line">                                                    lClassMList);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the AirlineClassList</span></div>
<div class="line">    AirlineClassList&amp; lAirlineClassMList =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineClassList&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirlineClassMListKey);</div>
<div class="line">    <span class="comment">// Link the AirlineClassList to the FareFeatures object</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFareFeaturesM, lAirlineClassMList);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lFareFeaturesM, lAirlineClassMList);</div>
<div class="line">    lAirlineClassMList.setFare (900);   </div>
<div class="line">    lAirlineClassMList.setYield (900);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Link the AirlineClassList to the YieldFeatures object</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lYieldFeatures, lAirlineClassMList);</div>
<div class="line">    <span class="comment">// \todo (gsabatier): the following calls overrides the parent for</span></div>
<div class="line">    <span class="comment">//       lAirlineClassList. Check that it is what is actually wanted.</span></div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lYieldFeatures, lAirlineClassMList);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00535.html#a69c4d11d732cf09e256e34c0b94db5f1">ClassList_StringList_T</a> lClassQList;</div>
<div class="line">    lClassQList.push_back (<span class="stringliteral">&quot;Q&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> AirlineClassListKey lAirlineClassQListKey (lAirlineCodeList,</div>
<div class="line">                                                     lClassQList);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the AirlineClassList</span></div>
<div class="line">    AirlineClassList&amp; lAirlineClassQList =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineClassList&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirlineClassQListKey);</div>
<div class="line">    <span class="comment">// Link the AirlineClassList to the FareFeatures object</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lFareFeaturesQ, lAirlineClassQList);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lFareFeaturesQ, lAirlineClassQList);</div>
<div class="line">    lAirlineClassQList.setFare (600);  </div>
<div class="line">    lAirlineClassQList.setYield (600);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Link the AirlineClassList to the YieldFeatures object</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lYieldFeatures, lAirlineClassQList);</div>
<div class="line">    <span class="comment">// \todo (gsabatier): the following calls overrides the parent for</span></div>
<div class="line">    <span class="comment">//       lAirlineClassList. Check that it is what is actually wanted.</span></div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lYieldFeatures, lAirlineClassQList);</div>
<div class="line">        </div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">  <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  <span class="keywordtype">void</span> CmdBomManager::</div>
<div class="line">  buildSampleTravelSolutionForPricing (<a class="code" href="a00535.html#a7044bfd349753c09860d25bdba03144a">TravelSolutionList_T</a>&amp; ioTravelSolutionList) {</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Clean the list</span></div>
<div class="line">    ioTravelSolutionList.clear();</div>
<div class="line"></div>
<div class="line">    <span class="comment">//</span></div>
<div class="line">    <span class="keyword">const</span> std::string lBA9_SegmentDateKey (<span class="stringliteral">&quot;BA, 9, 2011-06-10, LHR, SYD, 21:45&quot;</span>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the segment date key to the travel solution</span></div>
<div class="line">    TravelSolutionStruct lTS;</div>
<div class="line">    lTS.addSegment (lBA9_SegmentDateKey);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the travel solution to the list</span></div>
<div class="line">    ioTravelSolutionList.push_back (lTS);</div>
<div class="line">  }</div>
<div class="line">  </div>
<div class="line">  <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  <span class="keywordtype">void</span> CmdBomManager::</div>
<div class="line">  buildSampleTravelSolutions (<a class="code" href="a00535.html#a7044bfd349753c09860d25bdba03144a">TravelSolutionList_T</a>&amp; ioTravelSolutionList) {</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Clean the list</span></div>
<div class="line">    ioTravelSolutionList.clear();</div>
<div class="line"></div>
<div class="line">    <span class="comment">//</span></div>
<div class="line">    <span class="keyword">const</span> std::string lBA9_SegmentDateKey (<span class="stringliteral">&quot;BA, 9, 2011-06-10, LHR, SYD, 21:45&quot;</span>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the segment date key to the travel solution</span></div>
<div class="line">    TravelSolutionStruct lTS1;</div>
<div class="line">    lTS1.addSegment (lBA9_SegmentDateKey);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fare option number 1</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lClassPathQ (<a class="code" href="a00535.html#a77dbfd820c37676f07c20ba8ef10632c">CLASS_CODE_Q</a>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a04f34b37b2ec54fcda45cc9a77d080f7">Fare_T</a> lFare900 (900);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#adb0bab11604ea43463915616cd74c1ba">ChangeFees_T</a> lChangeFee (<a class="code" href="a00535.html#a098519aaf969d6a7bebf92c9efaff8b3">CHANGE_FEES</a>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#aae06fc88e5f52d47c178eb5825f0ab4c">NonRefundable_T</a> isNonRefundable (<a class="code" href="a00535.html#a4b4f8046523b594260d8831509ad17ac">NON_REFUNDABLE</a>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a713af56dbc04fcb11b3a2fc8ff71b407">SaturdayStay_T</a> lSaturdayStay (<a class="code" href="a00535.html#a1b503a046b9c5411e3e654ffdd37d172">SATURDAY_STAY</a>);</div>
<div class="line">    <span class="keyword">const</span> FareOptionStruct lFareOption1 (lClassPathQ, lFare900, lChangeFee,</div>
<div class="line">                                        isNonRefundable, lSaturdayStay);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add (a copy of) the fare option</span></div>
<div class="line">    lTS1.addFareOption (lFareOption1);</div>
<div class="line">    <span class="comment">//</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Map of class availabilities: set the availability for the Q</span></div>
<div class="line">    <span class="comment">// booking class (the one corresponding to the fare option) to 8.</span></div>
<div class="line">    <a class="code" href="a00535.html#a6b90932da2c94e4db3283c13c606a14c">ClassAvailabilityMap_T</a> lClassAvailabilityMap1;</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a98f98ecbccf4e7bfea260b013e1c6c12">Availability_T</a> lAvl1 (8);</div>
<div class="line">    <span class="keywordtype">bool</span> hasInsertOfQBeenSuccessful = lClassAvailabilityMap1.</div>
<div class="line">      insert (ClassAvailabilityMap_T::value_type (lClassPathQ, lAvl1)).second;</div>
<div class="line">    assert (hasInsertOfQBeenSuccessful == <span class="keyword">true</span>);</div>
<div class="line">    <span class="comment">// Add the map to the dedicated list held by the travel solution</span></div>
<div class="line">    lTS1.addClassAvailabilityMap (lClassAvailabilityMap1);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the travel solution to the list</span></div>
<div class="line">    ioTravelSolutionList.push_back (lTS1);</div>
<div class="line"></div>
<div class="line">    <span class="comment">//</span></div>
<div class="line">    <span class="keyword">const</span> std::string lQF12_SegmentDateKey (<span class="stringliteral">&quot;QF, 12, 2011-06-10, LHR, SYD, 20:45&quot;</span>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the segment date key to the travel solution</span></div>
<div class="line">    TravelSolutionStruct lTS2;</div>
<div class="line">    lTS2.addSegment (lQF12_SegmentDateKey);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fare option number 2</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lClassPathY (<a class="code" href="a00535.html#a213d441e58f58176171c9fa28e75e263">CLASS_CODE_Y</a>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a04f34b37b2ec54fcda45cc9a77d080f7">Fare_T</a> lFare1000 (1000);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#adb0bab11604ea43463915616cd74c1ba">ChangeFees_T</a> lNoChangeFee (<a class="code" href="a00535.html#aa8330523d491376b01c52aa8272fa1f2">NO_CHANGE_FEES</a>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#aae06fc88e5f52d47c178eb5825f0ab4c">NonRefundable_T</a> isRefundable (<a class="code" href="a00535.html#a97a1661026099c3f0399049fb2b4a581">NO_NON_REFUNDABLE</a>);</div>
<div class="line">    <span class="keyword">const</span> FareOptionStruct lFareOption2 (lClassPathY, lFare1000, lNoChangeFee,</div>
<div class="line">                                         isRefundable, lSaturdayStay);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Map of class availabilities: set the availability for the Y</span></div>
<div class="line">    <span class="comment">// booking class (the one corresponding to the fare option) to 9.</span></div>
<div class="line">    <a class="code" href="a00535.html#a6b90932da2c94e4db3283c13c606a14c">ClassAvailabilityMap_T</a> lClassAvailabilityMap2;</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a98f98ecbccf4e7bfea260b013e1c6c12">Availability_T</a> lAvl2 (9);</div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasInsertOfYBeenSuccessful = lClassAvailabilityMap2.</div>
<div class="line">      insert (ClassAvailabilityMap_T::value_type (lClassPathY, lAvl2)).second;</div>
<div class="line">    assert (hasInsertOfYBeenSuccessful == <span class="keyword">true</span>);</div>
<div class="line">    <span class="comment">// Add the map to the dedicated list held by the travel solution</span></div>
<div class="line">    lTS2.addClassAvailabilityMap (lClassAvailabilityMap2);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add (a copy of) the fare option</span></div>
<div class="line">    lTS2.addFareOption (lFareOption2);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fare option number 3</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a04f34b37b2ec54fcda45cc9a77d080f7">Fare_T</a> lFare920 (920);</div>
<div class="line">    <span class="keyword">const</span> FareOptionStruct lFareOption3 (lClassPathQ, lFare920, lNoChangeFee,</div>
<div class="line">                                         isNonRefundable, lSaturdayStay);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Map of class availabilities: set the availability for the Q</span></div>
<div class="line">    <span class="comment">// booking class (the one corresponding to the fare option) to 9.</span></div>
<div class="line">    hasInsertOfQBeenSuccessful = lClassAvailabilityMap2.</div>
<div class="line">      insert (ClassAvailabilityMap_T::value_type (lClassPathQ, lAvl2)).second;</div>
<div class="line">    assert (hasInsertOfYBeenSuccessful == <span class="keyword">true</span>);</div>
<div class="line">    <span class="comment">// Add the map to the dedicated list held by the travel solution</span></div>
<div class="line">    lTS2.addClassAvailabilityMap (lClassAvailabilityMap2);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add (a copy of) the fare option</span></div>
<div class="line">    lTS2.addFareOption (lFareOption3);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the travel solution to the list</span></div>
<div class="line">    ioTravelSolutionList.push_back (lTS2);</div>
<div class="line">    </div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">  <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  BookingRequestStruct CmdBomManager::buildSampleBookingRequest() {</div>
<div class="line">    <span class="comment">// Origin</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lOrigin (<a class="code" href="a00535.html#acc57101721a7e3fb24f885b88b419370">AIRPORT_LHR</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Destination</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lDestination (<a class="code" href="a00535.html#a56c9bd57c0133c5226df658b9df7e1ae">AIRPORT_SYD</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Point of Sale (POS)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ae40f6b7ccf542e22817e0f4a4d5d9a38">CityCode_T</a> lPOS (<a class="code" href="a00535.html#ab056bf0d57300ddf019fca07f1f12c7b">POS_LHR</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Preferred departure date (10-JUN-2011)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lPreferredDepartureDate (2011, boost::gregorian::Jun, 10);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Preferred departure time (08:00)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> lPreferredDepartureTime (8, 0, 0);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Date of the request (15-MAY-2011)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lRequestDate (2011, boost::gregorian::May, 15);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Time of the request (10:00)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> lRequestTime (10, 0, 0);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Date-time of the request (made of the date and time above)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a158c02e7885bcab624391189d7563c96">DateTime_T</a> lRequestDateTime (lRequestDate, lRequestTime);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Preferred cabin (also named class of service sometimes)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af6e007ccf2f470cad8779ea76dc958c1">CabinCode_T</a> lPreferredCabin (<a class="code" href="a00535.html#a51c0834cb104fc28f6e2a5968105d019">CABIN_ECO</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Number of persons in the party</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a474d6775eb6e99cd3877248807335cca">PartySize_T</a> lPartySize (3);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Channel (direct/indirect, on-line/off-line)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a3a2502a9ba99e5bfd61fd5a2aa9e6de0">ChannelLabel_T</a> lChannel (<a class="code" href="a00535.html#a2f70c12a8f2fdb14bd4cc62fcee0d768">CHANNEL_DN</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Type of the trip (one-way, inbound/outbound of a return trip)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a3fc070ff94549282179c4e0e10213667">TripType_T</a> lTripType (<a class="code" href="a00535.html#a40edd65b6d6ec30e9dc836210b2eeea5">TRIP_TYPE_INBOUND</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Duration of the stay (expressed as a number of days)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ad35d13dc390443e736db5bca9bfe1966">DayDuration_T</a> lStayDuration (<a class="code" href="a00535.html#a8f658fc38968c51a2288af40cf3dfa86">DEFAULT_STAY_DURATION</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Frequent flyer tier (member, silver, gold, platinum, senator, etc)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a77e7582d7cd3bdb95c08e1011dd25359">FrequentFlyer_T</a> lFrequentFlyerType (<a class="code" href="a00535.html#aaf09a84f6fa3873b6c2fcf68c8ecd951">FREQUENT_FLYER_MEMBER</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Maximum willing-to-pay (WTP, expressed in monetary unit, e.g., EUR)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a17d2c82c69a07adacf6cb8af20868a0f">WTP_T</a> lWTP (<a class="code" href="a00535.html#a1ff2f7327a614d145fbe55ae5e24bdff">DEFAULT_WTP</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Value of time, for the customer (expressed in monetary unit per</span></div>
<div class="line">    <span class="comment">// unit of time, e.g., EUR/hour)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2fa5b378f892db246eab1e14126a66a2">PriceValue_T</a> lValueOfTime (<a class="code" href="a00535.html#a718e840a1e0255d13d19152961cd98b0">DEFAULT_VALUE_OF_TIME</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Restrictions</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#adb0bab11604ea43463915616cd74c1ba">ChangeFees_T</a> lChangeFees = <span class="keyword">false</span>;</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#aed5b100656577a93a8c6e96007f487dc">Disutility_T</a> lChangeFeeDisutility = 30;</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#aae06fc88e5f52d47c178eb5825f0ab4c">NonRefundable_T</a> lNonRefundable = <span class="keyword">false</span>;</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#aed5b100656577a93a8c6e96007f487dc">Disutility_T</a> lNonRefundableDisutility = 50;</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Creation of the booking request structure</span></div>
<div class="line">    BookingRequestStruct oBookingRequest (lOrigin, lDestination, lPOS,</div>
<div class="line">                                          lPreferredDepartureDate,</div>
<div class="line">                                          lRequestDateTime,</div>
<div class="line">                                          lPreferredCabin,</div>
<div class="line">                                          lPartySize, lChannel,</div>
<div class="line">                                          lTripType, lStayDuration,</div>
<div class="line">                                          lFrequentFlyerType,</div>
<div class="line">                                          lPreferredDepartureTime,</div>
<div class="line">                                          lWTP, lValueOfTime,</div>
<div class="line">                                          lChangeFees, lChangeFeeDisutility,</div>
<div class="line">                                          lNonRefundable,</div>
<div class="line">                                          lNonRefundableDisutility);</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">return</span> oBookingRequest;</div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">  <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  BookingRequestStruct CmdBomManager::buildSampleBookingRequestForCRS() {</div>
<div class="line">    <span class="comment">// Origin</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lOrigin (<a class="code" href="a00535.html#ac4e3ebe9a632e9e98ba337e6ef627593">AIRPORT_SIN</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Destination</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lDestination (<a class="code" href="a00535.html#a8cbcf6f39b3efdb4514fd53e5f60420a">AIRPORT_BKK</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Point of Sale (POS)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ae40f6b7ccf542e22817e0f4a4d5d9a38">CityCode_T</a> lPOS (<a class="code" href="a00535.html#a475c50f8c3434ce2b423a44ae02930c8">POS_SIN</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Preferred departure date (30-JAN-2010)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lPreferredDepartureDate (2010, boost::gregorian::Jan, 30);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Preferred departure time (10:00)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> lPreferredDepartureTime (10, 0, 0);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Date of the request (22-JAN-2010)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lRequestDate (2010, boost::gregorian::Jan, 22);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Time of the request (10:00)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> lRequestTime (10, 0, 0);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Date-time of the request (made of the date and time above)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a158c02e7885bcab624391189d7563c96">DateTime_T</a> lRequestDateTime (lRequestDate, lRequestTime);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Preferred cabin (also named class of service sometimes)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af6e007ccf2f470cad8779ea76dc958c1">CabinCode_T</a> lPreferredCabin (<a class="code" href="a00535.html#a51c0834cb104fc28f6e2a5968105d019">CABIN_ECO</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Number of persons in the party</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a474d6775eb6e99cd3877248807335cca">PartySize_T</a> lPartySize (3);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Channel (direct/indirect, on-line/off-line)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a3a2502a9ba99e5bfd61fd5a2aa9e6de0">ChannelLabel_T</a> lChannel (<a class="code" href="a00535.html#af39c23bd8d9a5aa95f75e7f997b5af25">CHANNEL_IN</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Type of the trip (one-way, inbound/outbound of a return trip)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a3fc070ff94549282179c4e0e10213667">TripType_T</a> lTripType (<a class="code" href="a00535.html#a40edd65b6d6ec30e9dc836210b2eeea5">TRIP_TYPE_INBOUND</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Duration of the stay (expressed as a number of days)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ad35d13dc390443e736db5bca9bfe1966">DayDuration_T</a> lStayDuration (<a class="code" href="a00535.html#a8f658fc38968c51a2288af40cf3dfa86">DEFAULT_STAY_DURATION</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Frequent flyer tier (member, silver, gold, platinum, senator, etc)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a77e7582d7cd3bdb95c08e1011dd25359">FrequentFlyer_T</a> lFrequentFlyerType (<a class="code" href="a00535.html#aaf09a84f6fa3873b6c2fcf68c8ecd951">FREQUENT_FLYER_MEMBER</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Maximum willing-to-pay (WTP, expressed in monetary unit, e.g., EUR)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a17d2c82c69a07adacf6cb8af20868a0f">WTP_T</a> lWTP (<a class="code" href="a00535.html#a1ff2f7327a614d145fbe55ae5e24bdff">DEFAULT_WTP</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Value of time, for the customer (expressed in monetary unit per</span></div>
<div class="line">    <span class="comment">// unit of time, e.g., EUR/hour)</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2fa5b378f892db246eab1e14126a66a2">PriceValue_T</a> lValueOfTime (<a class="code" href="a00535.html#a718e840a1e0255d13d19152961cd98b0">DEFAULT_VALUE_OF_TIME</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Restrictions</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#adb0bab11604ea43463915616cd74c1ba">ChangeFees_T</a> lChangeFees = <span class="keyword">true</span>;</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#aed5b100656577a93a8c6e96007f487dc">Disutility_T</a> lChangeFeeDisutility = 50;</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#aae06fc88e5f52d47c178eb5825f0ab4c">NonRefundable_T</a> lNonRefundable = <span class="keyword">true</span>;</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#aed5b100656577a93a8c6e96007f487dc">Disutility_T</a> lNonRefundableDisutility = 50;</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Creation of the booking request structure</span></div>
<div class="line">    BookingRequestStruct oBookingRequest (lOrigin,</div>
<div class="line">                                          lDestination,</div>
<div class="line">                                          lPOS,</div>
<div class="line">                                          lPreferredDepartureDate,</div>
<div class="line">                                          lRequestDateTime,</div>
<div class="line">                                          lPreferredCabin,</div>
<div class="line">                                          lPartySize, lChannel,</div>
<div class="line">                                          lTripType, lStayDuration,</div>
<div class="line">                                          lFrequentFlyerType,</div>
<div class="line">                                          lPreferredDepartureTime,</div>
<div class="line">                                          lWTP, lValueOfTime,</div>
<div class="line">                                          lChangeFees, lChangeFeeDisutility,</div>
<div class="line">                                          lNonRefundable,</div>
<div class="line">                                          lNonRefundableDisutility);</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">return</span> oBookingRequest;</div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">  <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  <span class="keywordtype">void</span> CmdBomManager::</div>
<div class="line">  buildPartnershipsSampleInventoryAndRM (BomRoot&amp; ioBomRoot) {</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Step 0.1: Inventory level</span></div>
<div class="line">    <span class="comment">// Create an Inventory for SQ</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac0ab9f765621de3140cc27d6472f5581">AirlineCode_T</a> lAirlineCodeSQ (<span class="stringliteral">&quot;SQ&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> InventoryKey lSQKey (lAirlineCodeSQ);</div>
<div class="line">    Inventory&amp; lSQInv = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;Inventory&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lSQInv);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioBomRoot, lSQInv);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the airline feature object to the SQ inventory</span></div>
<div class="line">    <span class="keyword">const</span> AirlineFeatureKey lAirlineFeatureSQKey (lAirlineCodeSQ);</div>
<div class="line">    AirlineFeature&amp; lAirlineFeatureSQ =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineFeature&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirlineFeatureSQKey);</div>
<div class="line">    <a class="code" href="a00090.html#a4f2721b970ecfe34126d34afb2b54a35">FacBomManager::setAirlineFeature</a> (lSQInv, lAirlineFeatureSQ);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQInv, lAirlineFeatureSQ);</div>
<div class="line">    <span class="comment">// Link the airline feature object with the top of the BOM tree</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lAirlineFeatureSQ);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Create an Inventory for CX</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac0ab9f765621de3140cc27d6472f5581">AirlineCode_T</a> lAirlineCodeCX (<span class="stringliteral">&quot;CX&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> InventoryKey lCXKey (lAirlineCodeCX);</div>
<div class="line">    Inventory&amp; lCXInv = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;Inventory&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lCXKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lCXInv);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioBomRoot, lCXInv);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the airline feature object to the CX inventory</span></div>
<div class="line">    <span class="keyword">const</span> AirlineFeatureKey lAirlineFeatureCXKey (lAirlineCodeCX);</div>
<div class="line">    AirlineFeature&amp; lAirlineFeatureCX =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineFeature&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirlineFeatureCXKey);</div>
<div class="line">    <a class="code" href="a00090.html#a4f2721b970ecfe34126d34afb2b54a35">FacBomManager::setAirlineFeature</a> (lCXInv, lAirlineFeatureCX);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCXInv, lAirlineFeatureCX);</div>
<div class="line">    <span class="comment">// Link the airline feature object with the top of the BOM tree</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lAirlineFeatureCX);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// ////// SQ ///////    </span></div>
<div class="line">    <span class="comment">// Step 0.2: Flight-date level</span></div>
<div class="line">    <span class="comment">// Create a FlightDate (SQ11/08-MAR-2010) for SQ&#39;s Inventory</span></div>
<div class="line">    <a class="code" href="a00535.html#abb24a0796f29fe921b6dbe3ba0fa638e">FlightNumber_T</a> lFlightNumber = 11;</div>
<div class="line">    <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDate (2010, 3, 8);</div>
<div class="line">    FlightDateKey lFlightDateKey (lFlightNumber, lDate);</div>
<div class="line"></div>
<div class="line">    FlightDate&amp; lSQ11_20100308_FD =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FlightDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFlightDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQInv, lSQ11_20100308_FD);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQInv, lSQ11_20100308_FD);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a (mkt) FlightDate (SQ1200/08-MAR-2010) for SQ&#39;s Inventory</span></div>
<div class="line">    <a class="code" href="a00535.html#abb24a0796f29fe921b6dbe3ba0fa638e">FlightNumber_T</a> lMktFlightNumber = 1200;</div>
<div class="line">    <span class="comment">//lDate = Date_T (2010, 3, 8);</span></div>
<div class="line">    FlightDateKey lMktFlightDateKey (lMktFlightNumber, lDate);</div>
<div class="line"></div>
<div class="line">    FlightDate&amp; lSQ1200_20100308_FD =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FlightDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lMktFlightDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQInv, lSQ1200_20100308_FD);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQInv, lSQ1200_20100308_FD);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Display the flight-date</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;FlightDate: &quot; &lt;&lt; lBA9_20110610_FD.toString());</span></div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Step 0.3: Segment-date level</span></div>
<div class="line">    <span class="comment">// Create a first SegmentDate (SIN-BKK) for SQ&#39;s Inventory</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lSIN (<span class="stringliteral">&quot;SIN&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lBKK (<span class="stringliteral">&quot;BKK&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a1b93767b6aab60b88f5309ce0f8894ea">DateOffset_T</a> l1Day (1);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a1b93767b6aab60b88f5309ce0f8894ea">DateOffset_T</a> l2Days (2);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l0820 (8, 20, 0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l1100 (11, 0, 0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l0340 (3, 40, 0);</div>
<div class="line">    SegmentDateKey lSegmentDateKey (lSIN, lBKK);</div>
<div class="line"></div>
<div class="line">    SegmentDate&amp; lSINBKKSegment =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ11_20100308_FD, lSINBKKSegment);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQ11_20100308_FD, lSINBKKSegment);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the routing leg key to the SIN-BKK segment.</span></div>
<div class="line">    <span class="keyword">const</span> std::string lSQSINRoutingLegStr = <span class="stringliteral">&quot;SQ;11;2010-Mar-8;SIN&quot;</span>;</div>
<div class="line">    lSINBKKSegment.addLegKey (lSQSINRoutingLegStr);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fill the SegmentDate content</span></div>
<div class="line">    lSINBKKSegment.setBoardingDate (lDate);</div>
<div class="line">    lSINBKKSegment.setOffDate (lDate);</div>
<div class="line">    lSINBKKSegment.setBoardingTime (l0820);</div>
<div class="line">    lSINBKKSegment.setOffTime (l1100);</div>
<div class="line">    lSINBKKSegment.setElapsedTime (l0340);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a second (mkt) SegmentDate (BKK-HKG) for SQ&#39;s Inventory</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af1b500f17ebcafbb4a83d03e5a0d7846">AirportCode_T</a> lHKG (<span class="stringliteral">&quot;HKG&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l1200 (12, 0, 0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l1540 (15, 40, 0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#ac2284dabf9336e9472063158510f62c6">Duration_T</a> l0240 (2, 40, 0);</div>
<div class="line">    SegmentDateKey lMktSegmentDateKey (lBKK, lHKG);</div>
<div class="line"></div>
<div class="line">    SegmentDate&amp; lMktBKKHKGSegment =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lMktSegmentDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ1200_20100308_FD, lMktBKKHKGSegment);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQ1200_20100308_FD, lMktBKKHKGSegment); </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the routing leg key CX;12;2010-Mar-8;BKK to the marketing</span></div>
<div class="line">    <span class="comment">// SQ;1200;2010-Mar-8;BKK-HKG segment.</span></div>
<div class="line">    <span class="keyword">const</span> std::string lCXBKKRoutingLegStr = <span class="stringliteral">&quot;CX;12;2010-Mar-8;BKK&quot;</span>;</div>
<div class="line">    lMktBKKHKGSegment.addLegKey (lCXBKKRoutingLegStr);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fill the (mkt) SegmentDate content</span></div>
<div class="line">    lMktBKKHKGSegment.setBoardingDate (lDate);</div>
<div class="line">    lMktBKKHKGSegment.setOffDate (lDate);</div>
<div class="line">    lMktBKKHKGSegment.setBoardingTime (l1200);</div>
<div class="line">    lMktBKKHKGSegment.setOffTime (l1540);</div>
<div class="line">    lMktBKKHKGSegment.setElapsedTime (l0240);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.4: Leg-date level</span></div>
<div class="line">    <span class="comment">// Create a first LegDate (SIN) for SQ&#39;s Inventory</span></div>
<div class="line">    LegDateKey lLegDateKey (lSIN);</div>
<div class="line"></div>
<div class="line">    LegDate&amp; lSINLeg = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;LegDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLegDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ11_20100308_FD, lSINLeg);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQ11_20100308_FD, lSINLeg);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fill the LegDate content</span></div>
<div class="line">    lSINLeg.setOffPoint (lBKK);</div>
<div class="line">    lSINLeg.setBoardingDate (lDate);</div>
<div class="line">    lSINLeg.setOffDate (lDate);</div>
<div class="line">    lSINLeg.setBoardingTime (l0820);</div>
<div class="line">    lSINLeg.setOffTime (l1100);</div>
<div class="line">    lSINLeg.setElapsedTime (l0340);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.5: segment-cabin level</span></div>
<div class="line">    <span class="comment">// Create a SegmentCabin (Y) for the Segment SIN-BKK of SQ&#39;s Inventory</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#af6e007ccf2f470cad8779ea76dc958c1">CabinCode_T</a> lY (<span class="stringliteral">&quot;Y&quot;</span>);</div>
<div class="line">    SegmentCabinKey lYSegmentCabinKey (lY);</div>
<div class="line"></div>
<div class="line">    SegmentCabin&amp; lSINBKKSegmentYCabin =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentCabin&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYSegmentCabinKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegment, lSINBKKSegmentYCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegment, lSINBKKSegmentYCabin);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a SegmentCabin (Y) for the (mkt) Segment BKK-HKG of SQ&#39;s Inventory</span></div>
<div class="line">    SegmentCabin&amp; lMktBKKHKGSegmentYCabin =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentCabin&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYSegmentCabinKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktBKKHKGSegment, lMktBKKHKGSegmentYCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lMktBKKHKGSegment, lMktBKKHKGSegmentYCabin);</div>
<div class="line"></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.6: leg-cabin level</span></div>
<div class="line">    <span class="comment">// Create a LegCabin (Y) for the Leg SIN-BKK on SQ&#39;s Inventory</span></div>
<div class="line">    LegCabinKey lYLegCabinKey (lY);</div>
<div class="line"></div>
<div class="line">    LegCabin&amp; lSINLegYCabin =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;LegCabin&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYLegCabinKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINLeg, lSINLegYCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINLeg, lSINLegYCabin);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00535.html#a2dd15bf37056ace1becadd061d66c07b">CabinCapacity_T</a> lCapacity (100);</div>
<div class="line">    lSINLegYCabin.setCapacities (lCapacity);</div>
<div class="line">    lSINLegYCabin.setAvailabilityPool (lCapacity);</div>
<div class="line"></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.7: fare family level</span></div>
<div class="line">    <span class="comment">// Create a FareFamily (1) for the Segment SIN-BKK, cabin Y on SQ&#39;s Inv</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#aa8f1eaf9bbab3ad018c9e96be9b1a45d">FamilyCode_T</a> l1 (<span class="stringliteral">&quot;EcoSaver&quot;</span>);</div>
<div class="line">    FareFamilyKey l1FareFamilyKey (l1);</div>
<div class="line"></div>
<div class="line">    FareFamily&amp; lSINBKKSegmentYCabin1Family =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFamily&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin,</div>
<div class="line">                                    lSINBKKSegmentYCabin1Family);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegmentYCabin,</div>
<div class="line">                                   lSINBKKSegmentYCabin1Family);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a FareFamily (1) for the (mkt) Segment BKK-HKG, cabin Y on SQ&#39;s Inv</span></div>
<div class="line">    FareFamily&amp; lMktBKKHKGSegmentYCabin1Family =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFamily&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktBKKHKGSegmentYCabin,</div>
<div class="line">                                    lMktBKKHKGSegmentYCabin1Family);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lMktBKKHKGSegmentYCabin,</div>
<div class="line">                                    lMktBKKHKGSegmentYCabin1Family);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Step 0.8: booking class level</span></div>
<div class="line">    <span class="comment">// Create a BookingClass (Y) for the Segment SIN-BKK, cabin Y,</span></div>
<div class="line">    <span class="comment">// fare family 1 on SQ&#39;s Inv</span></div>
<div class="line">    BookingClassKey lYBookingClassKey (lY);</div>
<div class="line"></div>
<div class="line">    BookingClass&amp; lSINBKKSegmentYCabin1FamilyYClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYBookingClassKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin1Family,</div>
<div class="line">                                    lSINBKKSegmentYCabin1FamilyYClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegmentYCabin1Family,</div>
<div class="line">                                   lSINBKKSegmentYCabin1FamilyYClass);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin,</div>
<div class="line">                                    lSINBKKSegmentYCabin1FamilyYClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegment,</div>
<div class="line">                                    lSINBKKSegmentYCabin1FamilyYClass);</div>
<div class="line"></div>
<div class="line">    lSINBKKSegmentYCabin1FamilyYClass.setYield(700);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a BookingClass (Y) for the (mkt) Segment BKK-HKG, cabin Y,</span></div>
<div class="line">    <span class="comment">// fare family 1 on SQ&#39;s Inv</span></div>
<div class="line">    BookingClass&amp; lMktBKKHKGSegmentYCabin1FamilyYClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYBookingClassKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktBKKHKGSegmentYCabin1Family,</div>
<div class="line">                                    lMktBKKHKGSegmentYCabin1FamilyYClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lMktBKKHKGSegmentYCabin1Family,</div>
<div class="line">                                   lMktBKKHKGSegmentYCabin1FamilyYClass);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktBKKHKGSegmentYCabin,</div>
<div class="line">                                    lMktBKKHKGSegmentYCabin1FamilyYClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktBKKHKGSegment,</div>
<div class="line">                                    lMktBKKHKGSegmentYCabin1FamilyYClass);</div>
<div class="line"></div>
<div class="line">    lMktBKKHKGSegmentYCabin1FamilyYClass.setYield(700);</div>
<div class="line"></div>
<div class="line">   </div>
<div class="line">    <span class="comment">// Create a BookingClass (M) for the Segment SIN-BKK, cabin Y,</span></div>
<div class="line">    <span class="comment">// fare family 1 on SQ&#39;s Inv</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2333a1276804180fe52c77f099005054">ClassCode_T</a> lM (<span class="stringliteral">&quot;M&quot;</span>);</div>
<div class="line">    BookingClassKey lMBookingClassKey (lM);</div>
<div class="line"></div>
<div class="line">    BookingClass&amp; lSINBKKSegmentYCabin1FamilyMClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lMBookingClassKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin1Family,</div>
<div class="line">                                    lSINBKKSegmentYCabin1FamilyMClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKSegmentYCabin1Family,</div>
<div class="line">                                   lSINBKKSegmentYCabin1FamilyMClass);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegmentYCabin,</div>
<div class="line">                                    lSINBKKSegmentYCabin1FamilyMClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKSegment,</div>
<div class="line">                                    lSINBKKSegmentYCabin1FamilyMClass);</div>
<div class="line"></div>
<div class="line">    lSINBKKSegmentYCabin1FamilyMClass.setYield(500);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a BookingClass (M) for the (mkt) Segment BKK-HKG, cabin Y,</span></div>
<div class="line">    <span class="comment">// fare family 1 on SQ&#39;s Inv</span></div>
<div class="line">    BookingClass&amp; lMktBKKHKGSegmentYCabin1FamilyMClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lMBookingClassKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktBKKHKGSegmentYCabin1Family,</div>
<div class="line">                                    lMktBKKHKGSegmentYCabin1FamilyMClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lMktBKKHKGSegmentYCabin1Family,</div>
<div class="line">                                   lMktBKKHKGSegmentYCabin1FamilyMClass);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktBKKHKGSegmentYCabin,</div>
<div class="line">                                    lMktBKKHKGSegmentYCabin1FamilyMClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktBKKHKGSegment,</div>
<div class="line">                                    lMktBKKHKGSegmentYCabin1FamilyMClass);</div>
<div class="line"></div>
<div class="line">    lMktBKKHKGSegmentYCabin1FamilyMClass.setYield(500);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">/* =================================================================================== */</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 1.0: O&amp;D level</span></div>
<div class="line">    <span class="comment">// Create an O&amp;D Date (SQ11/08-MAR-2010/SIN-BKK-SQ1200/08-MAR-2010/BKK-HKG)</span></div>
<div class="line">    <span class="comment">// for SQ&#39;s Inventory</span></div>
<div class="line">    <a class="code" href="a00535.html#a89ce8c389c63742d2a8f9dddebfba464">OnDString_T</a> lSQSINBKKOnDStr = <span class="stringliteral">&quot;SQ;11,2010-Mar-08;SIN,BKK&quot;</span>;</div>
<div class="line">    <a class="code" href="a00535.html#a89ce8c389c63742d2a8f9dddebfba464">OnDString_T</a> lMktSQBKKHKGOnDStr = <span class="stringliteral">&quot;SQ;1200,2010-Mar-08;BKK,HKG&quot;</span>;</div>
<div class="line">    <a class="code" href="a00535.html#a856a099c44b6c21b4497f928d04f59e2">OnDStringList_T</a> lOnDStringList;</div>
<div class="line">    lOnDStringList.push_back (lSQSINBKKOnDStr);</div>
<div class="line">    lOnDStringList.push_back (lMktSQBKKHKGOnDStr);</div>
<div class="line"></div>
<div class="line">    OnDDateKey lOnDDateKey (lOnDStringList);</div>
<div class="line">    OnDDate&amp; lSQ_SINHKG_OnDDate =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;OnDDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lOnDDateKey);</div>
<div class="line">    <span class="comment">// Link to the inventory</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQInv, lSQ_SINHKG_OnDDate);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQInv, lSQ_SINHKG_OnDDate);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the segments</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ_SINHKG_OnDDate, lSINBKKSegment);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ_SINHKG_OnDDate, lMktBKKHKGSegment);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add total forecast info for cabin Y.</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2d11d25d3d03504ff4a4542381744fe4">MeanStdDevPair_T</a> lMean60StdDev6 (60.0, 6.0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a17d2c82c69a07adacf6cb8af20868a0f">WTP_T</a> lWTP750 = 750.0;</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a37773dac4c9c93592d2d1029be1d8071">WTPDemandPair_T</a> lWTP750Mean60StdDev6 (lWTP750, lMean60StdDev6);</div>
<div class="line">    lSQ_SINHKG_OnDDate.setTotalForecast (lY, lWTP750Mean60StdDev6);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add demand info (optional).</span></div>
<div class="line">    <span class="comment">// 2 legs here, so 2 CabinClassPair to add in the list.</span></div>
<div class="line">    <span class="comment">// Fist leg: cabin Y, class M.</span></div>
<div class="line">    <a class="code" href="a00535.html#a33716c7d1329113b462f6f2722c501c5">CabinClassPair_T</a> lCC_YM1 (lY,lM);</div>
<div class="line">    <span class="comment">// Second leg: cabin Y, class M too.</span></div>
<div class="line">    <a class="code" href="a00535.html#a33716c7d1329113b462f6f2722c501c5">CabinClassPair_T</a> lCC_YM2 (lY,lM);</div>
<div class="line">    <a class="code" href="a00535.html#a9dccfd1fab140d3d8202b352574ad06f">CabinClassPairList_T</a> lCabinClassPairList;</div>
<div class="line">    lCabinClassPairList.push_back(lCC_YM1);</div>
<div class="line">    lCabinClassPairList.push_back(lCC_YM2);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2d11d25d3d03504ff4a4542381744fe4">MeanStdDevPair_T</a> lMean20StdDev2 (20.0, 2.0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a941af3a267bc922f2dd2c1910c629347">Yield_T</a> lYield850 = 850.0;</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#afb4f549c18e4421413e374cd31160451">YieldDemandPair_T</a> lYield850Mean20StdDev2 (lYield850, lMean20StdDev2);</div>
<div class="line">    lSQ_SINHKG_OnDDate.setDemandInformation (lCabinClassPairList, lYield850Mean20StdDev2);</div>
<div class="line">    </div>
<div class="line">    <a class="code" href="a00535.html#a33716c7d1329113b462f6f2722c501c5">CabinClassPair_T</a> lCC_YY1 (lY,lY);</div>
<div class="line">    <a class="code" href="a00535.html#a33716c7d1329113b462f6f2722c501c5">CabinClassPair_T</a> lCC_YY2 (lY,lY);</div>
<div class="line">    lCabinClassPairList.clear();</div>
<div class="line">    lCabinClassPairList.push_back(lCC_YY1);</div>
<div class="line">    lCabinClassPairList.push_back(lCC_YY2);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2d11d25d3d03504ff4a4542381744fe4">MeanStdDevPair_T</a> lMean10StdDev1 (10.0, 1.0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a941af3a267bc922f2dd2c1910c629347">Yield_T</a> lYield1200 = 1200.0;</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#afb4f549c18e4421413e374cd31160451">YieldDemandPair_T</a> lYield1200Mean10StdDev1 (lYield1200, </div>
<div class="line">                                                     lMean10StdDev1);</div>
<div class="line">    lSQ_SINHKG_OnDDate.setDemandInformation (lCabinClassPairList, </div>
<div class="line">                                             lYield1200Mean10StdDev1);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create an O&amp;D Date (SQ11/08-MAR-2010/SIN-BKK) for SQ&#39;s Inventory</span></div>
<div class="line">    lOnDStringList.clear();</div>
<div class="line">    lOnDStringList.push_back (lSQSINBKKOnDStr);</div>
<div class="line"></div>
<div class="line">    lOnDDateKey = OnDDateKey(lOnDStringList);</div>
<div class="line">    OnDDate&amp; lSQ_SINBKK_OnDDate =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;OnDDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lOnDDateKey);</div>
<div class="line">    <span class="comment">// Link to the inventory</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQInv, lSQ_SINBKK_OnDDate);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQInv, lSQ_SINBKK_OnDDate);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the segments</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ_SINBKK_OnDDate, lSINBKKSegment);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add total forecast info for cabin Y.</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a17d2c82c69a07adacf6cb8af20868a0f">WTP_T</a> lWTP400 = 400.0;</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a37773dac4c9c93592d2d1029be1d8071">WTPDemandPair_T</a> lWTP400Mean60StdDev6 (lWTP400, lMean60StdDev6);</div>
<div class="line">    lSQ_SINBKK_OnDDate.setTotalForecast (lY, lWTP400Mean60StdDev6);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add demand info (optional).</span></div>
<div class="line">    lCabinClassPairList.clear();</div>
<div class="line">    lCabinClassPairList.push_back(lCC_YM1);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a2d11d25d3d03504ff4a4542381744fe4">MeanStdDevPair_T</a> lMean20StdDev1 (20.0, 1.0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a941af3a267bc922f2dd2c1910c629347">Yield_T</a> lYield500 = 500.0;</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#afb4f549c18e4421413e374cd31160451">YieldDemandPair_T</a> lYield500Mean20StdDev1 (lYield500, lMean20StdDev1);</div>
<div class="line">    lSQ_SINBKK_OnDDate.setDemandInformation (lCabinClassPairList, </div>
<div class="line">                                             lYield500Mean20StdDev1);</div>
<div class="line"></div>
<div class="line">    lCabinClassPairList.clear();</div>
<div class="line">    lCabinClassPairList.push_back(lCC_YY1);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a941af3a267bc922f2dd2c1910c629347">Yield_T</a> lYield700 = 700.0;</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#afb4f549c18e4421413e374cd31160451">YieldDemandPair_T</a> lYield700Mean20StdDev1 (lYield700, lMean10StdDev1 );</div>
<div class="line">    lSQ_SINBKK_OnDDate.setDemandInformation (lCabinClassPairList, </div>
<div class="line">                                             lYield700Mean20StdDev1);</div>
<div class="line"></div>
<div class="line">    <span class="comment">/*******************************************************************************</span></div>
<div class="line"><span class="comment">    // Create an O&amp;D Date (SQ1200/08-MAR-2010/BKK-HKG) for SQ&#39;s Inventory</span></div>
<div class="line"><span class="comment">    lFullKeyList.clear();</span></div>
<div class="line"><span class="comment">    lFullKeyList.push_back (lMktSQBKKHKGFullKeyStr);</span></div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">    lOnDDateKey = OnDDateKey(lFullKeyList);</span></div>
<div class="line"><span class="comment">    OnDDate&amp; lMktSQ_BKKHKG_OnDDate =</span></div>
<div class="line"><span class="comment">      FacBom&lt;OnDDate&gt;::instance().create (lOnDDateKey);</span></div>
<div class="line"><span class="comment">    // Link to the inventory</span></div>
<div class="line"><span class="comment">    FacBomManager::addToListAndMap (lSQInv, lMktSQ_BKKHKG_OnDDate);</span></div>
<div class="line"><span class="comment">    FacBomManager::linkWithParent (lSQInv, lMktSQ_BKKHKG_OnDDate);</span></div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">    // Add the segments</span></div>
<div class="line"><span class="comment">    FacBomManager::addToListAndMap (lMktSQ_BKKHKG_OnDDate, lMktBKKHKGSegment);</span></div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">    // Demand info is not added for purely marketed O&amp;Ds</span></div>
<div class="line"><span class="comment">    // Add demand info</span></div>
<div class="line"><span class="comment">    // lCabinClassPairList.clear();</span></div>
<div class="line"><span class="comment">    // lCabinClassPairList.push_back(lCC_YM2);</span></div>
<div class="line"><span class="comment">    // lMktSQ_BKKHKG_OnDDate.setDemandInformation (lCabinClassPairList, 500.0, 20.0, 1.0);</span></div>
<div class="line"><span class="comment">    ***********************************************************************************/</span></div>
<div class="line"></div>
<div class="line">    </div>
<div class="line">    <span class="comment">// ////// CX ///////    </span></div>
<div class="line">    <span class="comment">// Step 0.2: Flight-date level</span></div>
<div class="line">    <span class="comment">// Create a FlightDate (CX12/08-MAR-2010) for CX&#39;s Inventory</span></div>
<div class="line">    lFlightNumber = 12;</div>
<div class="line">    <span class="comment">//lDate = Date_T (2010, 2, 8);</span></div>
<div class="line">    lFlightDateKey = FlightDateKey (lFlightNumber, lDate);</div>
<div class="line"></div>
<div class="line">    FlightDate&amp; lCX12_20100308_FD =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FlightDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFlightDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCXInv, lCX12_20100308_FD);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCXInv, lCX12_20100308_FD);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a (mkt) FlightDate (CX1100/08-FEB-2010) for CX&#39;s Inventory</span></div>
<div class="line">    lFlightNumber = 1100;</div>
<div class="line">    <span class="comment">//lDate = Date_T (2010, 2, 8);</span></div>
<div class="line">    lMktFlightDateKey = FlightDateKey (lFlightNumber, lDate);</div>
<div class="line"></div>
<div class="line">    FlightDate&amp; lCX1100_20100308_FD =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FlightDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lMktFlightDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCXInv, lCX1100_20100308_FD);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCXInv, lCX1100_20100308_FD);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Display the flight-date</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;FlightDate: &quot; &lt;&lt; lAF084_20110320_FD.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.3: Segment-date level</span></div>
<div class="line">    <span class="comment">// Create a SegmentDate BKK-HKG for CX&#39;s Inventory</span></div>
<div class="line">    </div>
<div class="line">    lSegmentDateKey = SegmentDateKey (lBKK, lHKG);</div>
<div class="line"></div>
<div class="line">    SegmentDate&amp; lBKKHKGSegment =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCX12_20100308_FD, lBKKHKGSegment);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCX12_20100308_FD, lBKKHKGSegment);  </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the routing leg key to the marketing BKK-HKG segment.</span></div>
<div class="line">    lBKKHKGSegment.addLegKey (lCXBKKRoutingLegStr);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fill the SegmentDate content</span></div>
<div class="line">    lBKKHKGSegment.setBoardingDate (lDate);</div>
<div class="line">    lBKKHKGSegment.setOffDate (lDate);</div>
<div class="line">    lBKKHKGSegment.setBoardingTime (l1200);</div>
<div class="line">    lBKKHKGSegment.setOffTime (l1540);</div>
<div class="line">    lBKKHKGSegment.setElapsedTime (l0240);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a second (mkt) SegmentDate (SIN-BKK) for CX&#39;s Inventory</span></div>
<div class="line">    lMktSegmentDateKey = SegmentDateKey (lSIN, lBKK);</div>
<div class="line"></div>
<div class="line">    SegmentDate&amp; lMktSINBKKSegment =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lMktSegmentDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCX1100_20100308_FD, lMktSINBKKSegment);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCX1100_20100308_FD, lMktSINBKKSegment);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the routing leg key SQ;11;2010-Mar-8;SIN to the marketing</span></div>
<div class="line">    <span class="comment">// CX;1100;2010-Mar-8;SIN-BKK segment.</span></div>
<div class="line">    lMktSINBKKSegment.addLegKey (lSQSINRoutingLegStr);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fill the (mkt) SegmentDate content</span></div>
<div class="line">    lMktSINBKKSegment.setBoardingDate (lDate);</div>
<div class="line">    lMktSINBKKSegment.setOffDate (lDate);</div>
<div class="line">    lMktSINBKKSegment.setBoardingTime (l0820);</div>
<div class="line">    lMktSINBKKSegment.setOffTime (l1100);</div>
<div class="line">    lMktSINBKKSegment.setElapsedTime (l0340);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.4: Leg-date level</span></div>
<div class="line">    <span class="comment">// Create a LegDate (BKK) for CX&#39;s Inventory</span></div>
<div class="line">    lLegDateKey = LegDateKey (lBKK);</div>
<div class="line"></div>
<div class="line">    LegDate&amp; lBKKLeg = <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;LegDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lLegDateKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCX12_20100308_FD, lBKKLeg);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCX12_20100308_FD, lBKKLeg);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Fill the LegDate content</span></div>
<div class="line">    lBKKLeg.setOffPoint (lHKG);</div>
<div class="line">    lBKKLeg.setBoardingDate (lDate);</div>
<div class="line">    lBKKLeg.setOffDate (lDate);</div>
<div class="line">    lBKKLeg.setBoardingTime (l1200);</div>
<div class="line">    lBKKLeg.setOffTime (l1540);</div>
<div class="line">    lBKKLeg.setElapsedTime (l0240);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Display the leg-date</span></div>
<div class="line">    <span class="comment">// STDAIR_LOG_DEBUG (&quot;LegDate: &quot; &lt;&lt; lCDGLeg.toString());</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.5: segment-cabin level</span></div>
<div class="line">    <span class="comment">// Create a SegmentCabin (Y) for the Segment BKK-HKG of CX&#39;s Inventory</span></div>
<div class="line">    SegmentCabin&amp; lBKKHKGSegmentYCabin =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentCabin&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYSegmentCabinKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGSegment, lBKKHKGSegmentYCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGSegment, lBKKHKGSegmentYCabin);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a SegmentCabin (Y) for the (mkt) Segment SIN-BKK of CX&#39;s Inventory</span></div>
<div class="line">    SegmentCabin&amp; lMktSINBKKSegmentYCabin =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentCabin&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYSegmentCabinKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktSINBKKSegment, lMktSINBKKSegmentYCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lMktSINBKKSegment, lMktSINBKKSegmentYCabin);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.6: leg-cabin level</span></div>
<div class="line">    <span class="comment">// Create a LegCabin (Y) for the Leg BKK-HKG on CX&#39;s Inventory</span></div>
<div class="line">    LegCabin&amp; lBKKLegYCabin =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;LegCabin&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYLegCabinKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKLeg, lBKKLegYCabin);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKLeg, lBKKLegYCabin);</div>
<div class="line"></div>
<div class="line">    lCapacity = <a class="code" href="a00535.html#a2dd15bf37056ace1becadd061d66c07b">CabinCapacity_T</a>(100);</div>
<div class="line">    lBKKLegYCabin.setCapacities (lCapacity);</div>
<div class="line">    lBKKLegYCabin.setAvailabilityPool (lCapacity);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 0.7: fare family level</span></div>
<div class="line">    <span class="comment">// Create a fareFamily (1) for the Segment BKK-HKG, cabin Y on CX&#39;s Inv</span></div>
<div class="line">    FareFamily&amp; lBKKHKGSegmentYCabin1Family =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFamily&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGSegmentYCabin,</div>
<div class="line">                                    lBKKHKGSegmentYCabin1Family);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGSegmentYCabin,</div>
<div class="line">                                   lBKKHKGSegmentYCabin1Family);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a FareFamily (1) for the (mkt) Segment SIN-BKK, cabin Y on CX&#39;s Inv</span></div>
<div class="line">    FareFamily&amp; lMktSINBKKSegmentYCabin1Family =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFamily&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (l1FareFamilyKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktSINBKKSegmentYCabin,</div>
<div class="line">                                    lMktSINBKKSegmentYCabin1Family);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lMktSINBKKSegmentYCabin,</div>
<div class="line">                                   lMktSINBKKSegmentYCabin1Family);</div>
<div class="line"></div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Step 0.8: booking class level</span></div>
<div class="line">    <span class="comment">// Create a BookingClass (Y) for the</span></div>
<div class="line">    <span class="comment">// Segment BKK-HKG, cabin Y, fare family 1 on CX&#39;s Inv</span></div>
<div class="line">    BookingClass&amp; lBKKHKGSegmentYCabin1FamilyYClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYBookingClassKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGSegmentYCabin1Family,</div>
<div class="line">                                    lBKKHKGSegmentYCabin1FamilyYClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGSegmentYCabin1Family,</div>
<div class="line">                                   lBKKHKGSegmentYCabin1FamilyYClass);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGSegmentYCabin,</div>
<div class="line">                                    lBKKHKGSegmentYCabin1FamilyYClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGSegment,</div>
<div class="line">                                    lBKKHKGSegmentYCabin1FamilyYClass);</div>
<div class="line"></div>
<div class="line">    lBKKHKGSegmentYCabin1FamilyYClass.setYield(700);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a BookingClass (Y) for the (mkt) Segment SIN-BKK, cabin Y,</span></div>
<div class="line">    <span class="comment">// fare family 1 on CX&#39;s Inv</span></div>
<div class="line">    BookingClass&amp; lMktSINBKKSegmentYCabin1FamilyYClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYBookingClassKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktSINBKKSegmentYCabin1Family,</div>
<div class="line">                                    lMktSINBKKSegmentYCabin1FamilyYClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lMktSINBKKSegmentYCabin1Family,</div>
<div class="line">                                   lMktSINBKKSegmentYCabin1FamilyYClass);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktSINBKKSegmentYCabin,</div>
<div class="line">                                    lMktSINBKKSegmentYCabin1FamilyYClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktSINBKKSegment,</div>
<div class="line">                                    lMktSINBKKSegmentYCabin1FamilyYClass);</div>
<div class="line"></div>
<div class="line">    lMktSINBKKSegmentYCabin1FamilyYClass.setYield(700);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">//Create a BookingClass (M) for the</span></div>
<div class="line">    <span class="comment">// Segment BKK-HKG, cabin Y, fare family 1 on CX&#39;s Inv</span></div>
<div class="line">    BookingClass&amp; lBKKHKGSegmentYCabin1FamilyMClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lMBookingClassKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGSegmentYCabin1Family,</div>
<div class="line">                                    lBKKHKGSegmentYCabin1FamilyMClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGSegmentYCabin1Family,</div>
<div class="line">                                   lBKKHKGSegmentYCabin1FamilyMClass);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGSegmentYCabin,</div>
<div class="line">                                    lBKKHKGSegmentYCabin1FamilyMClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGSegment,</div>
<div class="line">                                    lBKKHKGSegmentYCabin1FamilyMClass);</div>
<div class="line"></div>
<div class="line">    lBKKHKGSegmentYCabin1FamilyMClass.setYield(500);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create a BookingClass (M) for the (mkt) Segment SIN-BKK, cabin Y,</span></div>
<div class="line">    <span class="comment">// fare family 1 on CX&#39;s Inv</span></div>
<div class="line">    BookingClass&amp; lMktSINBKKSegmentYCabin1FamilyMClass =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lMBookingClassKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktSINBKKSegmentYCabin1Family,</div>
<div class="line">                                    lMktSINBKKSegmentYCabin1FamilyMClass);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lMktSINBKKSegmentYCabin1Family,</div>
<div class="line">                                   lMktSINBKKSegmentYCabin1FamilyMClass);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktSINBKKSegmentYCabin,</div>
<div class="line">                                    lMktSINBKKSegmentYCabin1FamilyMClass);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lMktSINBKKSegment,</div>
<div class="line">                                    lMktSINBKKSegmentYCabin1FamilyMClass);</div>
<div class="line"></div>
<div class="line">    lMktSINBKKSegmentYCabin1FamilyMClass.setYield(500);</div>
<div class="line"></div>
<div class="line">    <span class="comment">/* =================================================================================== */</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 1.0: O&amp;D level</span></div>
<div class="line">    <span class="comment">// Create an O&amp;D Date (CX1100/08-MAR-2010/SIN-BKK-CX12/08-MAR-2010/BKK-HKG) for CX&#39;s Inventory</span></div>
<div class="line">    <a class="code" href="a00535.html#a89ce8c389c63742d2a8f9dddebfba464">OnDString_T</a> lMktCXSINBKKOnDStr = <span class="stringliteral">&quot;CX;1100,2010-Mar-08;SIN,BKK&quot;</span>;</div>
<div class="line">    <a class="code" href="a00535.html#a89ce8c389c63742d2a8f9dddebfba464">OnDString_T</a> lCXBKKHKGOnDStr = <span class="stringliteral">&quot;CX;12,2010-Mar-08;BKK,HKG&quot;</span>;</div>
<div class="line">    lOnDStringList.clear();</div>
<div class="line">    lOnDStringList.push_back (lMktCXSINBKKOnDStr);</div>
<div class="line">    lOnDStringList.push_back (lCXBKKHKGOnDStr);</div>
<div class="line"></div>
<div class="line">    lOnDDateKey = OnDDateKey(lOnDStringList);</div>
<div class="line">    OnDDate&amp; lCX_SINHKG_OnDDate =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;OnDDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lOnDDateKey);</div>
<div class="line">    <span class="comment">// Link to the inventory</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCXInv, lCX_SINHKG_OnDDate);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCXInv, lCX_SINHKG_OnDDate);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the segments</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCX_SINHKG_OnDDate, lMktSINBKKSegment);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCX_SINHKG_OnDDate, lBKKHKGSegment);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add total forecast info for cabin Y.</span></div>
<div class="line">    lCX_SINHKG_OnDDate.setTotalForecast (lY, lWTP750Mean60StdDev6);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Add demand info</span></div>
<div class="line">    lCabinClassPairList.clear();</div>
<div class="line">    lCabinClassPairList.push_back(lCC_YM1);</div>
<div class="line">    lCabinClassPairList.push_back(lCC_YM2);</div>
<div class="line">    lCX_SINHKG_OnDDate.setDemandInformation (lCabinClassPairList, </div>
<div class="line">                                             lYield850Mean20StdDev2);</div>
<div class="line"></div>
<div class="line">    lCabinClassPairList.clear();</div>
<div class="line">    lCabinClassPairList.push_back(lCC_YY1);</div>
<div class="line">    lCabinClassPairList.push_back(lCC_YY2);</div>
<div class="line">    lCX_SINHKG_OnDDate.setDemandInformation (lCabinClassPairList, </div>
<div class="line">                                             lYield1200Mean10StdDev1);</div>
<div class="line"></div>
<div class="line">    <span class="comment">/***********************************************************************************</span></div>
<div class="line"><span class="comment">    // Create an O&amp;D Date (CX1100/08-MAR-2010/SIN-BKK) for CX&#39;s Inventory</span></div>
<div class="line"><span class="comment">    lFullKeyList.clear();</span></div>
<div class="line"><span class="comment">    lFullKeyList.push_back (lMktCXSINBKKFullKeyStr);</span></div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">    lOnDDateKey = OnDDateKey(lFullKeyList);</span></div>
<div class="line"><span class="comment">    OnDDate&amp; lMktCX_SINBKK_OnDDate =</span></div>
<div class="line"><span class="comment">      FacBom&lt;OnDDate&gt;::instance().create (lOnDDateKey);</span></div>
<div class="line"><span class="comment">    // Link to the inventory</span></div>
<div class="line"><span class="comment">    FacBomManager::addToListAndMap (lCXInv, lMktCX_SINBKK_OnDDate);</span></div>
<div class="line"><span class="comment">    FacBomManager::linkWithParent (lCXInv, lMktCX_SINBKK_OnDDate);</span></div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">    // Add the segments</span></div>
<div class="line"><span class="comment">    FacBomManager::addToListAndMap (lMktCX_SINBKK_OnDDate, lMktSINBKKSegment);</span></div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">    // Demand info is not added for purely marketed O&amp;Ds</span></div>
<div class="line"><span class="comment">    // Add demand info</span></div>
<div class="line"><span class="comment">    // lCabinClassPairList.clear();</span></div>
<div class="line"><span class="comment">    // lCabinClassPairList.push_back(lCC_YM1);</span></div>
<div class="line"><span class="comment">    // lMktCX_SINBKK_OnDDate.setDemandInformation (lCabinClassPairList, 500.0, 20.0, 1.0);</span></div>
<div class="line"><span class="comment">    *************************************************************************************/</span></div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Create an O&amp;D Date (CX12/08-FEB-2010/BKK-HKG) for CX&#39;s Inventory</span></div>
<div class="line">    lOnDStringList.clear();</div>
<div class="line">    lOnDStringList.push_back (lCXBKKHKGOnDStr);</div>
<div class="line"></div>
<div class="line">    lOnDDateKey = OnDDateKey(lOnDStringList);</div>
<div class="line">    OnDDate&amp; lCX_BKKHKG_OnDDate =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;OnDDate&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lOnDDateKey);</div>
<div class="line">    <span class="comment">// Link to the inventory</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCXInv, lCX_BKKHKG_OnDDate);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCXInv, lCX_BKKHKG_OnDDate);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add the segments</span></div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCX_BKKHKG_OnDDate, lBKKHKGSegment);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add total forecast info for cabin Y.</span></div>
<div class="line">    lCX_BKKHKG_OnDDate.setTotalForecast (lY, lWTP400Mean60StdDev6);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Add demand info</span></div>
<div class="line">    lCabinClassPairList.clear();</div>
<div class="line">    lCabinClassPairList.push_back(lCC_YM2);</div>
<div class="line">    lCX_BKKHKG_OnDDate.setDemandInformation (lCabinClassPairList, </div>
<div class="line">                                             lYield500Mean20StdDev1);</div>
<div class="line"></div>
<div class="line">    lCabinClassPairList.clear();</div>
<div class="line">    lCabinClassPairList.push_back(lCC_YY2);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#afb4f549c18e4421413e374cd31160451">YieldDemandPair_T</a> lYield700Mean10StdDev1 (lYield700, lMean10StdDev1 );</div>
<div class="line">    lCX_BKKHKG_OnDDate.setDemandInformation (lCabinClassPairList, </div>
<div class="line">                                             lYield700Mean10StdDev1);</div>
<div class="line"></div>
<div class="line">    <span class="comment">/*================================================================================</span></div>
<div class="line"><span class="comment">      ================================================================================</span></div>
<div class="line"><span class="comment">      ================================================================================*/</span></div>
<div class="line">    <span class="comment">// Schedule:</span></div>
<div class="line">    <span class="comment">// SQ:</span></div>
<div class="line">    <span class="comment">// Step 1: flight period level</span></div>
<div class="line">    <span class="comment">// Create a flight period for SQ11:</span></div>
<div class="line">    <span class="keyword">const</span> DoWStruct lDoWSrtuct (<span class="stringliteral">&quot;1111111&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDateRangeStart (2010, boost::gregorian::Mar, 8);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDateRangeEnd (2010, boost::gregorian::Mar, 9);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a923842effcf1b0dc1001731efc276d8b">DatePeriod_T</a> lDatePeriod (lDateRangeStart, lDateRangeEnd);</div>
<div class="line">    <span class="keyword">const</span> PeriodStruct lPeriodStruct (lDatePeriod,lDoWSrtuct);</div>
<div class="line"></div>
<div class="line">    lFlightNumber = <a class="code" href="a00535.html#abb24a0796f29fe921b6dbe3ba0fa638e">FlightNumber_T</a> (11);</div>
<div class="line"></div>
<div class="line">    FlightPeriodKey lFlightPeriodKey (lFlightNumber, lPeriodStruct);</div>
<div class="line"></div>
<div class="line">    FlightPeriod&amp; lSQ11FlightPeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FlightPeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFlightPeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQInv, lSQ11FlightPeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQInv, lSQ11FlightPeriod);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 2: segment period level</span></div>
<div class="line">    <span class="comment">// Create a segment period for SIN-BKK:</span></div>
<div class="line"></div>
<div class="line">    SegmentPeriodKey lSegmentPeriodKey (lSIN, lBKK);</div>
<div class="line"></div>
<div class="line">    SegmentPeriod&amp; lSINBKKSegmentPeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentPeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentPeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSQ11FlightPeriod, lSINBKKSegmentPeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSQ11FlightPeriod, lSINBKKSegmentPeriod);</div>
<div class="line"></div>
<div class="line">    lSINBKKSegmentPeriod.setBoardingTime (l0820);</div>
<div class="line">    lSINBKKSegmentPeriod.setOffTime (l1100);</div>
<div class="line">    lSINBKKSegmentPeriod.setElapsedTime (l0340);</div>
<div class="line">    <a class="code" href="a00535.html#a8955958d7655605902d49df1588c3dad">ClassList_String_T</a> lYM (<span class="stringliteral">&quot;YM&quot;</span>);</div>
<div class="line">    lSINBKKSegmentPeriod.addCabinBookingClassList (lY,lYM);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// CX:</span></div>
<div class="line">    <span class="comment">// Step 1: flight period level</span></div>
<div class="line">    <span class="comment">// Create a flight period for CX12:  </span></div>
<div class="line">    lFlightNumber = <a class="code" href="a00535.html#abb24a0796f29fe921b6dbe3ba0fa638e">FlightNumber_T</a> (12);</div>
<div class="line"></div>
<div class="line">    lFlightPeriodKey = FlightPeriodKey(lFlightNumber, lPeriodStruct);</div>
<div class="line"></div>
<div class="line">    FlightPeriod&amp; lCX12FlightPeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FlightPeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFlightPeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCXInv, lCX12FlightPeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCXInv, lCX12FlightPeriod);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Step 2: segment period level</span></div>
<div class="line">    <span class="comment">// Create a segment period for BKK-HKG:</span></div>
<div class="line"></div>
<div class="line">    lSegmentPeriodKey = SegmentPeriodKey (lBKK, lHKG);</div>
<div class="line"></div>
<div class="line">    SegmentPeriod&amp; lBKKHKGSegmentPeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;SegmentPeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSegmentPeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCX12FlightPeriod, lBKKHKGSegmentPeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCX12FlightPeriod, lBKKHKGSegmentPeriod);</div>
<div class="line"></div>
<div class="line">    lBKKHKGSegmentPeriod.setBoardingTime (l1200);</div>
<div class="line">    lBKKHKGSegmentPeriod.setOffTime (l1540);</div>
<div class="line">    lBKKHKGSegmentPeriod.setElapsedTime (l0240);</div>
<div class="line">    lBKKHKGSegmentPeriod.addCabinBookingClassList (lY,lYM);</div>
<div class="line">    </div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">  <span class="comment">// //////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  <span class="keywordtype">void</span> CmdBomManager::buildPartnershipsSamplePricing (BomRoot&amp; ioBomRoot) {</div>
<div class="line"></div>
<div class="line"></div>
<div class="line">    <span class="comment">/*===================================================================================*/</span></div>
<div class="line">    <span class="comment">// First airport pair SIN-BKK.</span></div>
<div class="line">    <span class="comment">// Set the airport-pair primary key.</span></div>
<div class="line">    AirportPairKey lAirportPairKey (<span class="stringliteral">&quot;SIN&quot;</span>, <span class="stringliteral">&quot;BKK&quot;</span>);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Create the AirportPairKey object and link it to the ioBomRoot object.</span></div>
<div class="line">    AirportPair&amp; lSINBKKAirportPair =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirportPair&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirportPairKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lSINBKKAirportPair);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioBomRoot, lSINBKKAirportPair);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Set the fare date-period primary key.</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDateRangeStart (2010, boost::gregorian::Mar, 01);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a049eb52315b4e9bb21a411f8b9d9012e">Date_T</a> lDateRangeEnd (2010, boost::gregorian::Mar, 31);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a923842effcf1b0dc1001731efc276d8b">DatePeriod_T</a> lDateRange (lDateRangeStart, lDateRangeEnd);</div>
<div class="line">    <span class="keyword">const</span> DatePeriodKey lDatePeriodKey (lDateRange);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the DatePeriodKey object and link it to the PosChannel object.</span></div>
<div class="line">    DatePeriod&amp; lSINBKKDatePeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;DatePeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lDatePeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKAirportPair, lSINBKKDatePeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKAirportPair, lSINBKKDatePeriod);    </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Set the point-of-sale-channel primary key.</span></div>
<div class="line">    PosChannelKey lPosChannelKey (<span class="stringliteral">&quot;SIN&quot;</span>,<span class="stringliteral">&quot;IN&quot;</span>);  </div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Create the PositionKey object and link it to the AirportPair object.</span></div>
<div class="line">    PosChannel&amp; lSINPosChannel =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;PosChannel&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lPosChannelKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKDatePeriod, lSINPosChannel);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKDatePeriod, lSINPosChannel);</div>
<div class="line">   </div>
<div class="line">    <span class="comment">// Set the fare time-period primary key.</span></div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a43f981bcd64afe6461278a030d27a926">Time_T</a> lTimeRangeStart (0, 0, 0);</div>
<div class="line">    <span class="keyword">const</span> <a class="code" href="a00535.html#a43f981bcd64afe6461278a030d27a926">Time_T</a> lTimeRangeEnd (23, 0, 0);</div>
<div class="line">    <span class="keyword">const</span> TimePeriodKey lFareTimePeriodKey (lTimeRangeStart,</div>
<div class="line">                                            lTimeRangeEnd);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the TimePeriodKey and link it to the DatePeriod object.</span></div>
<div class="line">    TimePeriod&amp; lSINBKKFareTimePeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;TimePeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareTimePeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINPosChannel, lSINBKKFareTimePeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINPosChannel, lSINBKKFareTimePeriod); </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Generate the FareRule</span></div>
<div class="line">    <span class="keyword">const</span> FareFeaturesKey lFareFeaturesKey (<a class="code" href="a00535.html#aa60ce98643163d352528344851cd15c6">TRIP_TYPE_ONE_WAY</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#ac5fd6594bf2de33d06b23bd4e43a105b">NO_ADVANCE_PURCHASE</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#a1b503a046b9c5411e3e654ffdd37d172">SATURDAY_STAY</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#a098519aaf969d6a7bebf92c9efaff8b3">CHANGE_FEES</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#a4b4f8046523b594260d8831509ad17ac">NON_REFUNDABLE</a>,</div>
<div class="line">                                            <a class="code" href="a00535.html#a5ac86e869590cb3658d5f7c61e3b3288">NO_STAY_DURATION</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the FareFeaturesKey and link it to the TimePeriod object.</span></div>
<div class="line">    FareFeatures&amp; lSINBKKFareFeatures =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFeatures&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareFeaturesKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKFareTimePeriod, lSINBKKFareFeatures);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKFareTimePeriod, lSINBKKFareFeatures);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Generate Segment Features and link them to their FareRule.</span></div>
<div class="line">    <a class="code" href="a00535.html#add4270789c27c30c5e0790dc75975bcc">AirlineCodeList_T</a> lSQAirlineCodeList;</div>
<div class="line">    lSQAirlineCodeList.push_back (<span class="stringliteral">&quot;SQ&quot;</span>);</div>
<div class="line">    </div>
<div class="line">    <a class="code" href="a00535.html#a69c4d11d732cf09e256e34c0b94db5f1">ClassList_StringList_T</a> lYClassCodeList;</div>
<div class="line">    lYClassCodeList.push_back (<span class="stringliteral">&quot;Y&quot;</span>);    </div>
<div class="line">    <span class="keyword">const</span> AirlineClassListKey lSQAirlineYClassListKey (lSQAirlineCodeList,</div>
<div class="line">                                                       lYClassCodeList);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00535.html#a69c4d11d732cf09e256e34c0b94db5f1">ClassList_StringList_T</a> lMClassCodeList;</div>
<div class="line">    lMClassCodeList.push_back (<span class="stringliteral">&quot;M&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> AirlineClassListKey lSQAirlineMClassListKey (lSQAirlineCodeList,</div>
<div class="line">                                                       lMClassCodeList);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the AirlineClassListKey and link it to the FareFeatures object.</span></div>
<div class="line">    AirlineClassList&amp; lSQAirlineYClassList =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineClassList&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQAirlineYClassListKey);</div>
<div class="line">    lSQAirlineYClassList.setFare(700);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKFareFeatures, lSQAirlineYClassList);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKFareFeatures, lSQAirlineYClassList);</div>
<div class="line"></div>
<div class="line">    AirlineClassList&amp; lSQAirlineMClassList =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineClassList&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQAirlineMClassListKey);</div>
<div class="line">    lSQAirlineMClassList.setFare(500);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKFareFeatures, lSQAirlineMClassList);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKFareFeatures, lSQAirlineMClassList);</div>
<div class="line"></div>
<div class="line">    <span class="comment">/*===================================================================================*/</span></div>
<div class="line">    <span class="comment">// Second airport pair BKK-HKG.</span></div>
<div class="line">    <span class="comment">// Set the airport-pair primary key.</span></div>
<div class="line">    lAirportPairKey = AirportPairKey (<span class="stringliteral">&quot;BKK&quot;</span>, <span class="stringliteral">&quot;HKG&quot;</span>);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Create the AirportPairKey object and link it to the ioBomRoot object.</span></div>
<div class="line">    AirportPair&amp; lBKKHKGAirportPair =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirportPair&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirportPairKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lBKKHKGAirportPair);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioBomRoot, lBKKHKGAirportPair);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Set the fare date-period primary key.</span></div>
<div class="line">    <span class="comment">// Use the same as previously.</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the DatePeriodKey object and link it to the PosChannel object.</span></div>
<div class="line">    DatePeriod&amp; lBKKHKGDatePeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;DatePeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lDatePeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGAirportPair, lBKKHKGDatePeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGAirportPair, lBKKHKGDatePeriod);    </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Set the point-of-sale-channel primary key.</span></div>
<div class="line">    lPosChannelKey  = PosChannelKey(<span class="stringliteral">&quot;BKK&quot;</span>,<span class="stringliteral">&quot;IN&quot;</span>);  </div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Create the PositionKey object and link it to the AirportPair object.</span></div>
<div class="line">    PosChannel&amp; lBKKPosChannel =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;PosChannel&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lPosChannelKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGDatePeriod, lBKKPosChannel);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGDatePeriod, lBKKPosChannel);</div>
<div class="line">   </div>
<div class="line">    <span class="comment">// Set the fare time-period primary key.</span></div>
<div class="line">    <span class="comment">// Use the same as previously.</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the TimePeriodKey and link it to the DatePeriod object.</span></div>
<div class="line">    TimePeriod&amp; lBKKHKGFareTimePeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;TimePeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareTimePeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKPosChannel, lBKKHKGFareTimePeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKPosChannel, lBKKHKGFareTimePeriod);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Generate the FareRule</span></div>
<div class="line">    <span class="comment">// Use the same key as previously.</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the FareFeaturesKey and link it to the TimePeriod object.</span></div>
<div class="line">    FareFeatures&amp; lBKKHKGFareFeatures =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFeatures&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareFeaturesKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGFareTimePeriod, lBKKHKGFareFeatures);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGFareTimePeriod, lBKKHKGFareFeatures);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Generate Segment Features and link them to their FareRule.</span></div>
<div class="line">    <a class="code" href="a00535.html#add4270789c27c30c5e0790dc75975bcc">AirlineCodeList_T</a> lCXAirlineCodeList;</div>
<div class="line">    lCXAirlineCodeList.push_back (<span class="stringliteral">&quot;CX&quot;</span>);</div>
<div class="line">    </div>
<div class="line">    <span class="keyword">const</span> AirlineClassListKey lCXAirlineYClassListKey (lCXAirlineCodeList,</div>
<div class="line">                                                       lYClassCodeList);</div>
<div class="line"></div>
<div class="line">    <span class="keyword">const</span> AirlineClassListKey lCXAirlineMClassListKey (lCXAirlineCodeList,</div>
<div class="line">                                                       lMClassCodeList);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the AirlineClassListKey and link it to the FareFeatures object.</span></div>
<div class="line">    AirlineClassList&amp; lCXAirlineYClassList =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineClassList&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lCXAirlineYClassListKey);</div>
<div class="line">    lCXAirlineYClassList.setFare(700);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGFareFeatures, lCXAirlineYClassList);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGFareFeatures, lCXAirlineYClassList);</div>
<div class="line">    </div>
<div class="line">    AirlineClassList&amp; lCXAirlineMClassList =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineClassList&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lCXAirlineMClassListKey);</div>
<div class="line">    lCXAirlineMClassList.setFare(500);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGFareFeatures, lCXAirlineMClassList);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGFareFeatures, lCXAirlineMClassList);</div>
<div class="line"></div>
<div class="line">    <span class="comment">/*===================================================================================*/</span></div>
<div class="line">    <span class="comment">// Third airport pair SIN-HKG.</span></div>
<div class="line">    <span class="comment">// Set the airport-pair primary key.</span></div>
<div class="line">    lAirportPairKey = AirportPairKey (<span class="stringliteral">&quot;SIN&quot;</span>, <span class="stringliteral">&quot;HKG&quot;</span>);</div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Create the AirportPairKey object and link it to the ioBomRoot object.</span></div>
<div class="line">    AirportPair&amp; lSINHKGAirportPair =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirportPair&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lAirportPairKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioBomRoot, lSINHKGAirportPair);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioBomRoot, lSINHKGAirportPair);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Set the fare date-period primary key.</span></div>
<div class="line">    <span class="comment">// Use the same as previously.</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the DatePeriodKey object and link it to the PosChannel object.</span></div>
<div class="line">    DatePeriod&amp; lSINHKGDatePeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;DatePeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lDatePeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINHKGAirportPair, lSINHKGDatePeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINHKGAirportPair, lSINHKGDatePeriod);    </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Set the point-of-sale-channel primary key.</span></div>
<div class="line">    lPosChannelKey = PosChannelKey(<span class="stringliteral">&quot;SIN&quot;</span>,<span class="stringliteral">&quot;IN&quot;</span>);  </div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Create the PositionKey object and link it to the AirportPair object.</span></div>
<div class="line">    PosChannel&amp; lOnDSINPosChannel =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;PosChannel&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lPosChannelKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINHKGDatePeriod, lOnDSINPosChannel);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINHKGDatePeriod, lOnDSINPosChannel);</div>
<div class="line">   </div>
<div class="line">    <span class="comment">// Set the fare time-period primary key.</span></div>
<div class="line">    <span class="comment">// Use the same as previously.</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the TimePeriodKey and link it to the DatePeriod object.</span></div>
<div class="line">    TimePeriod&amp; lSINHKGFareTimePeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;TimePeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareTimePeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lOnDSINPosChannel, lSINHKGFareTimePeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lOnDSINPosChannel, lSINHKGFareTimePeriod);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Generate the FareRule</span></div>
<div class="line">    <span class="comment">// Use the same key as previously.</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the FareFeaturesKey and link it to the TimePeriod object.</span></div>
<div class="line">    FareFeatures&amp; lSINHKGFareFeatures =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;FareFeatures&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lFareFeaturesKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINHKGFareTimePeriod, lSINHKGFareFeatures);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINHKGFareTimePeriod, lSINHKGFareFeatures);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Generate Segment Features and link them to their FareRule.</span></div>
<div class="line">    <a class="code" href="a00535.html#add4270789c27c30c5e0790dc75975bcc">AirlineCodeList_T</a> lSQ_CXAirlineCodeList;</div>
<div class="line">    lSQ_CXAirlineCodeList.push_back (<span class="stringliteral">&quot;SQ&quot;</span>);</div>
<div class="line">    lSQ_CXAirlineCodeList.push_back (<span class="stringliteral">&quot;CX&quot;</span>);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00535.html#a69c4d11d732cf09e256e34c0b94db5f1">ClassList_StringList_T</a> lY_YClassCodeList;</div>
<div class="line">    lY_YClassCodeList.push_back (<span class="stringliteral">&quot;Y&quot;</span>);</div>
<div class="line">    lY_YClassCodeList.push_back (<span class="stringliteral">&quot;Y&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> AirlineClassListKey lSQ_CXAirlineYClassListKey (lSQ_CXAirlineCodeList,</div>
<div class="line">                                                          lY_YClassCodeList);</div>
<div class="line"></div>
<div class="line">    <a class="code" href="a00535.html#a69c4d11d732cf09e256e34c0b94db5f1">ClassList_StringList_T</a> lM_MClassCodeList;</div>
<div class="line">    lM_MClassCodeList.push_back (<span class="stringliteral">&quot;M&quot;</span>);</div>
<div class="line">    lM_MClassCodeList.push_back (<span class="stringliteral">&quot;M&quot;</span>);</div>
<div class="line">    <span class="keyword">const</span> AirlineClassListKey lSQ_CXAirlineMClassListKey (lSQ_CXAirlineCodeList,</div>
<div class="line">                                                          lM_MClassCodeList);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the AirlineClassListKey and link it to the FareFeatures object.</span></div>
<div class="line">    AirlineClassList&amp; lSQ_CXAirlineYClassList =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineClassList&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQ_CXAirlineYClassListKey);</div>
<div class="line">    lSQ_CXAirlineYClassList.setFare(1200);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINHKGFareFeatures, </div>
<div class="line">                                    lSQ_CXAirlineYClassList);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINHKGFareFeatures, </div>
<div class="line">                                   lSQ_CXAirlineYClassList);</div>
<div class="line">    </div>
<div class="line">    AirlineClassList&amp; lSQ_CXAirlineMClassList =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineClassList&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQ_CXAirlineMClassListKey);</div>
<div class="line">    lSQ_CXAirlineMClassList.setFare(850);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINHKGFareFeatures, </div>
<div class="line">                                    lSQ_CXAirlineMClassList);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINHKGFareFeatures, </div>
<div class="line">                                   lSQ_CXAirlineMClassList);</div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line">    <span class="comment">/*===================================================================================*/</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Use the same airport pair, and date period for adding SQ SIN-BKK yields.</span></div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Set the point-of-sale-channel primary key.</span></div>
<div class="line">    lPosChannelKey = PosChannelKey(<a class="code" href="a00535.html#ab533ca102ec6088fd6b0aadd7f7d3561">DEFAULT_POS</a>, <a class="code" href="a00535.html#aa3635448b4a303bb5e2e6635433143aa">DEFAULT_CHANNEL</a>);  </div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Create the PositionKey object and link it to the AirportPair object.</span></div>
<div class="line">    PosChannel&amp; lRAC_SINBKKPosChannel =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;PosChannel&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lPosChannelKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKDatePeriod, lRAC_SINBKKPosChannel);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKDatePeriod, lRAC_SINBKKPosChannel);</div>
<div class="line">   </div>
<div class="line">    <span class="comment">// Set the yield time-period primary key.</span></div>
<div class="line">    <span class="keyword">const</span> TimePeriodKey lYieldTimePeriodKey (lTimeRangeStart,</div>
<div class="line">                                            lTimeRangeEnd);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the TimePeriodKey and link it to the DatePeriod object.</span></div>
<div class="line">    TimePeriod&amp; lSINBKKYieldTimePeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;TimePeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYieldTimePeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lRAC_SINBKKPosChannel, </div>
<div class="line">                                    lSINBKKYieldTimePeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lRAC_SINBKKPosChannel, </div>
<div class="line">                                   lSINBKKYieldTimePeriod);        </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Generate the YieldRule</span></div>
<div class="line">    <span class="keyword">const</span> YieldFeaturesKey lYieldFeaturesKey (<a class="code" href="a00535.html#aa60ce98643163d352528344851cd15c6">TRIP_TYPE_ONE_WAY</a>,</div>
<div class="line">                                              <a class="code" href="a00535.html#a875f1a1f5fff074dde2beacd6f362e5f">CABIN_Y</a>);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the YieldFeaturesKey and link it to the TimePeriod object.</span></div>
<div class="line">    YieldFeatures&amp; lSINBKKYieldFeatures =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;YieldFeatures&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYieldFeaturesKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKYieldTimePeriod,</div>
<div class="line">                                    lSINBKKYieldFeatures);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKYieldTimePeriod, </div>
<div class="line">                                   lSINBKKYieldFeatures);        </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Generate Segment Features and link them to their YieldRule.</span></div>
<div class="line">    <span class="comment">// Use the same key as previously.</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the AirlineClassListKey and link it to the YieldFeatures object.</span></div>
<div class="line">    AirlineClassList&amp; lRAC_SQAirlineYClassList =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineClassList&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQAirlineYClassListKey);</div>
<div class="line">    lRAC_SQAirlineYClassList.setYield(700);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKYieldFeatures, </div>
<div class="line">                                    lRAC_SQAirlineYClassList);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKYieldFeatures, </div>
<div class="line">                                   lRAC_SQAirlineYClassList);</div>
<div class="line"></div>
<div class="line">    AirlineClassList&amp; lRAC_SQAirlineMClassList =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineClassList&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQAirlineMClassListKey);</div>
<div class="line">    lRAC_SQAirlineMClassList.setYield(500);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINBKKYieldFeatures, </div>
<div class="line">                                    lRAC_SQAirlineMClassList);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINBKKYieldFeatures, </div>
<div class="line">                                   lRAC_SQAirlineMClassList);</div>
<div class="line"></div>
<div class="line">    <span class="comment">/*===================================================================================*/</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Use the same airport pair, and date period for adding CX BKK-HKG yields. </span></div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Set the point-of-sale-channel primary key.</span></div>
<div class="line">    <span class="comment">// Use the same as previously.</span></div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Create the PositionKey object and link it to the AirportPair object.</span></div>
<div class="line">    PosChannel&amp; lRAC_BKKHKGPosChannel =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;PosChannel&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lPosChannelKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGDatePeriod, lRAC_BKKHKGPosChannel);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGDatePeriod, lRAC_BKKHKGPosChannel);</div>
<div class="line">   </div>
<div class="line">    <span class="comment">// Set the yield time-period primary key.</span></div>
<div class="line">    <span class="comment">// Use the same as previously.</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the TimePeriodKey and link it to the DatePeriod object.</span></div>
<div class="line">    TimePeriod&amp; lBKKHKGYieldTimePeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;TimePeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYieldTimePeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lRAC_BKKHKGPosChannel, </div>
<div class="line">                                    lBKKHKGYieldTimePeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lRAC_BKKHKGPosChannel, </div>
<div class="line">                                   lBKKHKGYieldTimePeriod);        </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Generate the YieldRule</span></div>
<div class="line">    <span class="comment">// Use the same key as previously.</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the YieldFeaturesKey and link it to the TimePeriod object.</span></div>
<div class="line">    YieldFeatures&amp; lBKKHKGYieldFeatures =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;YieldFeatures&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYieldFeaturesKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGYieldTimePeriod, </div>
<div class="line">                                    lBKKHKGYieldFeatures);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGYieldTimePeriod, </div>
<div class="line">                                   lBKKHKGYieldFeatures);        </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Generate Segment Features and link them to their YieldRule.</span></div>
<div class="line">    <span class="comment">// Use the same key as previously.</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the AirlineClassListKey and link it to the YieldFeatures object.</span></div>
<div class="line">    AirlineClassList&amp; lRAC_CXAirlineYClassList =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineClassList&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lCXAirlineYClassListKey);</div>
<div class="line">    lRAC_CXAirlineYClassList.setYield(700);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGYieldFeatures, </div>
<div class="line">                                    lRAC_CXAirlineYClassList);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGYieldFeatures, </div>
<div class="line">                                   lRAC_CXAirlineYClassList);</div>
<div class="line">    </div>
<div class="line">    AirlineClassList&amp; lRAC_CXAirlineMClassList =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineClassList&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lCXAirlineMClassListKey);</div>
<div class="line">    lRAC_CXAirlineMClassList.setYield(500);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lBKKHKGYieldFeatures, </div>
<div class="line">                                    lRAC_CXAirlineMClassList);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lBKKHKGYieldFeatures, </div>
<div class="line">                                   lRAC_CXAirlineMClassList);</div>
<div class="line"></div>
<div class="line">    <span class="comment">/*===================================================================================*/</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Use the same airport pair, and date period for SQ-CX SIN-HKG</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Set the point-of-sale-channel primary key.</span></div>
<div class="line">    <span class="comment">// Use the same as previously.</span></div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Create the PositionKey object and link it to the AirportPair object.</span></div>
<div class="line">    PosChannel&amp; lRAC_SINHKGChannel =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;PosChannel&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lPosChannelKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINHKGDatePeriod, lRAC_SINHKGChannel);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINHKGDatePeriod, lRAC_SINHKGChannel);</div>
<div class="line">   </div>
<div class="line">    <span class="comment">// Set the yield time-period primary key.</span></div>
<div class="line">    <span class="comment">// Use the same as previously.</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the TimePeriodKey and link it to the DatePeriod object.</span></div>
<div class="line">    TimePeriod&amp; lSINHKGYieldTimePeriod =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;TimePeriod&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYieldTimePeriodKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lRAC_SINHKGChannel, lSINHKGYieldTimePeriod);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lRAC_SINHKGChannel, lSINHKGYieldTimePeriod);  </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Generate the YieldRule</span></div>
<div class="line">    <span class="comment">// Use the same key as previously.</span></div>
<div class="line"></div>
<div class="line">    <span class="comment">// Create the YieldFeaturesKey and link it to the TimePeriod object.</span></div>
<div class="line">    YieldFeatures&amp; lSINHKGYieldFeatures =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;YieldFeatures&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lYieldFeaturesKey);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINHKGYieldTimePeriod, </div>
<div class="line">                                    lSINHKGYieldFeatures);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINHKGYieldTimePeriod, </div>
<div class="line">                                   lSINHKGYieldFeatures);        </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Generate Segment Features and link them to their YieldRule.</span></div>
<div class="line">    <span class="comment">// Use the same key as previously</span></div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Create the AirlineClassListKey and link it to the YieldFeatures object.</span></div>
<div class="line">    AirlineClassList&amp; lRAC_SQ_CXAirlineYClassList =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineClassList&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQ_CXAirlineYClassListKey);</div>
<div class="line">    lRAC_SQ_CXAirlineYClassList.setYield(1200);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINHKGYieldFeatures, </div>
<div class="line">                                    lRAC_SQ_CXAirlineYClassList);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINHKGYieldFeatures, </div>
<div class="line">                                   lRAC_SQ_CXAirlineYClassList);</div>
<div class="line">    </div>
<div class="line">    AirlineClassList&amp; lRAC_SQ_CXAirlineMClassList =</div>
<div class="line">      <a class="code" href="a00089.html#af10a87fcdeb32af553c6994ba724016a">FacBom&lt;AirlineClassList&gt;::instance</a>().<a class="code" href="a00089.html#af06dd266824e0ec2ea9a15994f56fd75">create</a> (lSQ_CXAirlineMClassListKey);</div>
<div class="line">    lRAC_SQ_CXAirlineMClassList.setYield(850);</div>
<div class="line">    <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lSINHKGYieldFeatures, </div>
<div class="line">                                    lRAC_SQ_CXAirlineMClassList);</div>
<div class="line">    <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lSINHKGYieldFeatures, </div>
<div class="line">                                   lRAC_SQ_CXAirlineMClassList);</div>
<div class="line">    </div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="comment">/*!</span></div>
</div><!-- fragment --><div class="fragment"><div class="line"> */</div>
<div class="line"><span class="comment">// //////////////////////////////////////////////////////////////////////</span></div>
<div class="line"><span class="comment">// Import section</span></div>
<div class="line"><span class="comment">// //////////////////////////////////////////////////////////////////////</span></div>
<div class="line"><span class="comment">// STL</span></div>
<div class="line"><span class="preprocessor">#include &lt;cassert&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;sstream&gt;</span></div>
<div class="line"><span class="comment">// StdAir</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00488.html">stdair/factory/FacBomManager.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00489.html">stdair/factory/FacCloneBom.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00476.html">stdair/command/CmdCloneBomManager.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00499.html">stdair/service/Logger.hpp</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="a00309.html">stdair/bom/BomRetriever.hpp</a>&gt;</span></div>
<div class="line"></div>
<div class="line"><span class="keyword">namespace </span>stdair {  </div>
<div class="line">  </div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  <span class="keywordtype">void</span> CmdCloneBomManager::cloneBomRoot (<span class="keyword">const</span> BomRoot&amp; iBomRoot,</div>
<div class="line">                                         BomRoot&amp; ioCloneBomRoot) {</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Check whether there are Inventory objects</span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasInventoryList = BomManager::hasList&lt;Inventory&gt; (iBomRoot);</div>
<div class="line">    <span class="keywordflow">if</span> (hasInventoryList == <span class="keyword">true</span>) {</div>
<div class="line">    </div>
<div class="line">      <span class="comment">// Browse the inventories</span></div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#aa2443c204cfcb7ce31e90308b9a63d71">InventoryList_T</a>&amp; lInventoryList =</div>
<div class="line">        BomManager::getList&lt;Inventory&gt; (iBomRoot);</div>
<div class="line">      <span class="keywordflow">for</span> (InventoryList_T::const_iterator itInv = lInventoryList.begin();</div>
<div class="line">           itInv != lInventoryList.end(); ++itInv) {</div>
<div class="line">        <span class="keyword">const</span> Inventory* lInv_ptr = *itInv;</div>
<div class="line">        assert (lInv_ptr != NULL);</div>
<div class="line"></div>
<div class="line">        <span class="comment">// Clone the current inventory</span></div>
<div class="line">        Inventory&amp; lCloneInventory = cloneInventory (*lInv_ptr, ioCloneBomRoot);</div>
<div class="line">        <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioCloneBomRoot, lCloneInventory);</div>
<div class="line">        <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioCloneBomRoot, lCloneInventory);</div>
<div class="line">      }</div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Check whether there are Airport Pair objects</span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hastAirportPairList = </div>
<div class="line">      BomManager::hasList&lt;AirportPair&gt; (iBomRoot);</div>
<div class="line">    <span class="keywordflow">if</span> (hastAirportPairList == <span class="keyword">true</span>) {</div>
<div class="line">    </div>
<div class="line">      <span class="comment">// Browse the airport pairs</span></div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#a3910e03bffd66a6d8bef3d20c98bd0eb">AirportPairList_T</a>&amp; lAirportPairList =</div>
<div class="line">        BomManager::getList&lt;AirportPair&gt; (iBomRoot);</div>
<div class="line">      <span class="keywordflow">for</span> (AirportPairList_T::const_iterator itAirportPair =</div>
<div class="line">             lAirportPairList.begin();</div>
<div class="line">           itAirportPair != lAirportPairList.end(); ++itAirportPair) {</div>
<div class="line">        <span class="keyword">const</span> AirportPair* lAirportPair_ptr = *itAirportPair;</div>
<div class="line">        assert (lAirportPair_ptr != NULL);</div>
<div class="line"></div>
<div class="line">        <span class="comment">// Clone the current airport pair</span></div>
<div class="line">        AirportPair&amp; lCloneAirportPair = cloneAirportPair (*lAirportPair_ptr);</div>
<div class="line">        <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioCloneBomRoot, lCloneAirportPair);</div>
<div class="line">        <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (ioCloneBomRoot, lCloneAirportPair);</div>
<div class="line">      }</div>
<div class="line">    }</div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  Inventory&amp; CmdCloneBomManager::cloneInventory (<span class="keyword">const</span> Inventory&amp; iInventory,</div>
<div class="line">                                                 BomRoot&amp; ioCloneBomRoot) { </div>
<div class="line"></div>
<div class="line">    Inventory&amp; lCloneInventory = </div>
<div class="line">      <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom&lt;Inventory&gt;::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iInventory); </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Check whether there are FlightDate objects</span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasFlighDateList = BomManager::hasList&lt;FlightDate&gt; (iInventory);</div>
<div class="line">    <span class="keywordflow">if</span> (hasFlighDateList == <span class="keyword">true</span>) {    </div>
<div class="line">      <span class="comment">// Browse the flight-dates</span></div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#ac897d12d418f6bfe878303905a3b943b">FlightDateList_T</a>&amp; lFlightDateList =</div>
<div class="line">        BomManager::getList&lt;FlightDate&gt; (iInventory);</div>
<div class="line">      <span class="keywordflow">for</span> (FlightDateList_T::const_iterator itFD = lFlightDateList.begin();</div>
<div class="line">           itFD != lFlightDateList.end(); ++itFD) {</div>
<div class="line">        <span class="keyword">const</span> FlightDate* lFD_ptr = *itFD;</div>
<div class="line">        assert (lFD_ptr != NULL);</div>
<div class="line">      </div>
<div class="line">        <span class="comment">// Clone the current flight-date</span></div>
<div class="line">        FlightDate&amp; lCloneFD = cloneFlightDate (*lFD_ptr);</div>
<div class="line">        <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneInventory, lCloneFD);</div>
<div class="line">        <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneInventory, lCloneFD);</div>
<div class="line">      }</div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Check if the inventory contains a list of partners</span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasPartnerList = BomManager::hasList&lt;Inventory&gt; (iInventory);</div>
<div class="line">    <span class="keywordflow">if</span> (hasPartnerList == <span class="keyword">true</span>) {</div>
<div class="line">    </div>
<div class="line">      <span class="comment">// Browse the partner&#39;s inventories</span></div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#aa2443c204cfcb7ce31e90308b9a63d71">InventoryList_T</a>&amp; lPartnerInventoryList =</div>
<div class="line">        BomManager::getList&lt;Inventory&gt; (iInventory);</div>
<div class="line">      </div>
<div class="line">      <span class="keywordflow">for</span> (InventoryList_T::const_iterator itInv =</div>
<div class="line">             lPartnerInventoryList.begin();</div>
<div class="line">           itInv != lPartnerInventoryList.end(); ++itInv) {           </div>
<div class="line">        <span class="keyword">const</span> Inventory* lInv_ptr = *itInv;</div>
<div class="line">        assert (lInv_ptr != NULL);</div>
<div class="line">        </div>
<div class="line">        <span class="comment">// Clone the current partnership inventory</span></div>
<div class="line">        Inventory&amp; lClonePartnerInventory = cloneInventory (*lInv_ptr,</div>
<div class="line">                                                            ioCloneBomRoot);  </div>
<div class="line">        <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneInventory,</div>
<div class="line">                                        lClonePartnerInventory);</div>
<div class="line">        <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneInventory,</div>
<div class="line">                                       lClonePartnerInventory);   </div>
<div class="line">      }</div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Check whether there are O&amp;D date objects</span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasOnDList = BomManager::hasList&lt;OnDDate&gt; (iInventory);</div>
<div class="line">    <span class="keywordflow">if</span> (hasOnDList == <span class="keyword">true</span>){</div>
<div class="line"></div>
<div class="line">      <span class="comment">//Browse the O&amp;Ds</span></div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#aa12f23be931367ac86ffcb48e01d614e">OnDDateList_T</a>&amp; lOnDDateList =</div>
<div class="line">        BomManager::getList&lt;OnDDate&gt; (iInventory);</div>
<div class="line"></div>
<div class="line">      <span class="keywordflow">for</span> (OnDDateList_T::const_iterator itOnD = lOnDDateList.begin();</div>
<div class="line">           itOnD != lOnDDateList.end(); ++itOnD) {</div>
<div class="line">        <span class="keyword">const</span> OnDDate* lOnDDate_ptr = *itOnD;</div>
<div class="line">        assert (lOnDDate_ptr != NULL);</div>
<div class="line"></div>
<div class="line">        <span class="comment">// Clone the current O&amp;D date</span></div>
<div class="line">        OnDDate&amp; lCloneOnDDate = cloneOnDDate (*lOnDDate_ptr);</div>
<div class="line">        <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneInventory, lCloneOnDDate);</div>
<div class="line">        <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneInventory, lCloneOnDDate);</div>
<div class="line">      }</div>
<div class="line">    } </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Check whether there are Flight Period objects</span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasFlightPeriodList = </div>
<div class="line">      BomManager::hasList&lt;FlightPeriod&gt; (iInventory);</div>
<div class="line">    <span class="keywordflow">if</span> (hasFlightPeriodList == <span class="keyword">true</span>) {</div>
<div class="line">    </div>
<div class="line">      <span class="comment">// Browse the flight-periods</span></div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#a712c73859b508c7e2ca9e39f9b82980c">FlightPeriodList_T</a>&amp; lFlightPeriodList =</div>
<div class="line">        BomManager::getList&lt;FlightPeriod&gt; (iInventory);</div>
<div class="line">      <span class="keywordflow">for</span> (FlightPeriodList_T::const_iterator itFlightPeriod =</div>
<div class="line">             lFlightPeriodList.begin();</div>
<div class="line">           itFlightPeriod != lFlightPeriodList.end(); ++itFlightPeriod) {</div>
<div class="line">        <span class="keyword">const</span> FlightPeriod* lFlightPeriod_ptr = *itFlightPeriod;</div>
<div class="line">        assert (lFlightPeriod_ptr != NULL);</div>
<div class="line"></div>
<div class="line">        <span class="comment">// Clone the current flight period</span></div>
<div class="line">        FlightPeriod&amp; lCloneFlightPeriod = cloneFlightPeriod (*lFlightPeriod_ptr);</div>
<div class="line">        <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneInventory, lCloneFlightPeriod);</div>
<div class="line">        <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneInventory, lCloneFlightPeriod);</div>
<div class="line">      }</div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Check whether there is an airline feature object</span></div>
<div class="line">    <span class="keyword">const</span> AirlineFeature* lAirlineFeature_ptr =</div>
<div class="line">      BomManager::getObjectPtr&lt;AirlineFeature,Inventory&gt; (iInventory,</div>
<div class="line">                                                          iInventory.getAirlineCode());</div>
<div class="line">    <span class="keywordflow">if</span> (lAirlineFeature_ptr != NULL) {</div>
<div class="line">      <span class="comment">// Clone the current airline feature object</span></div>
<div class="line">      AirlineFeature&amp; lCloneAirlineFeature =</div>
<div class="line">        cloneAirlineFeature (*lAirlineFeature_ptr);</div>
<div class="line">      <a class="code" href="a00090.html#a4f2721b970ecfe34126d34afb2b54a35">FacBomManager::setAirlineFeature</a> (lCloneInventory, lCloneAirlineFeature);</div>
<div class="line">      <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneInventory, lCloneAirlineFeature);</div>
<div class="line">      <span class="comment">// Link the airline feature object with the top of the BOM tree</span></div>
<div class="line">      <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (ioCloneBomRoot, lCloneAirlineFeature);</div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">return</span> lCloneInventory;</div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  AirlineFeature&amp; CmdCloneBomManager::</div>
<div class="line">  cloneAirlineFeature (<span class="keyword">const</span> AirlineFeature&amp; iAirlineFeature) {   </div>
<div class="line"></div>
<div class="line">    AirlineFeature&amp; lCloneAirlineFeature = </div>
<div class="line">      <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom&lt;AirlineFeature&gt;::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iAirlineFeature);  </div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">return</span> lCloneAirlineFeature;</div>
<div class="line">  } </div>
<div class="line"> </div>
<div class="line"></div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  OnDDate&amp; CmdCloneBomManager::cloneOnDDate (<span class="keyword">const</span> OnDDate&amp; iOnDDate) {   </div>
<div class="line"></div>
<div class="line">    OnDDate&amp; lCloneOnDDate = </div>
<div class="line">      <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom&lt;OnDDate&gt;::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iOnDDate);  </div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">return</span> lCloneOnDDate;</div>
<div class="line">  } </div>
<div class="line"></div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  FlightDate&amp; CmdCloneBomManager::</div>
<div class="line">  cloneFlightDate (<span class="keyword">const</span> FlightDate&amp; iFlightDate) { </div>
<div class="line"></div>
<div class="line">    FlightDate&amp; lCloneFlightDate = </div>
<div class="line">      <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom&lt;FlightDate&gt;::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iFlightDate);   </div>
<div class="line">    </div>
<div class="line">    <span class="comment">// Check whether there are LegDate objects</span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasLegDateList = BomManager::hasList&lt;LegDate&gt; (iFlightDate);</div>
<div class="line">    <span class="keywordflow">if</span> (hasLegDateList == <span class="keyword">true</span>) {</div>
<div class="line"></div>
<div class="line">      <span class="comment">// Browse the leg-dates</span></div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#af5036d369b7d3f5c1692d5a22a4b87b1">LegDateList_T</a>&amp; lLegDateList =</div>
<div class="line">        BomManager::getList&lt;LegDate&gt; (iFlightDate);</div>
<div class="line">      <span class="keywordflow">for</span> (LegDateList_T::const_iterator itLD = lLegDateList.begin();</div>
<div class="line">           itLD != lLegDateList.end(); ++itLD) {</div>
<div class="line">        <span class="keyword">const</span> LegDate* lLD_ptr = *itLD;</div>
<div class="line">        assert (lLD_ptr != NULL); </div>
<div class="line"></div>
<div class="line">        <span class="comment">// Clone the current leg-date</span></div>
<div class="line">        LegDate&amp; lCloneLegDate = cloneLegDate (*lLD_ptr);</div>
<div class="line">        <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneFlightDate, lCloneLegDate);</div>
<div class="line">        <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneFlightDate, lCloneLegDate);</div>
<div class="line">      }  </div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Check whether there are SegmentDate objects</span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasSegmentDateList = </div>
<div class="line">      BomManager::hasList&lt;SegmentDate&gt; (iFlightDate);</div>
<div class="line">    <span class="keywordflow">if</span> (hasSegmentDateList == <span class="keyword">true</span>) {</div>
<div class="line">    </div>
<div class="line">      <span class="comment">// Browse the segment-dates</span></div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#a2d85d5a19c517fc13241cc3bb8ac3043">SegmentDateList_T</a>&amp; lSegmentDateList =</div>
<div class="line">        BomManager::getList&lt;SegmentDate&gt; (iFlightDate);</div>
<div class="line">      <span class="keywordflow">for</span> (SegmentDateList_T::const_iterator itSD = lSegmentDateList.begin();</div>
<div class="line">           itSD != lSegmentDateList.end(); ++itSD) {</div>
<div class="line">        <span class="keyword">const</span> SegmentDate* lSD_ptr = *itSD;</div>
<div class="line">        assert (lSD_ptr != NULL);       </div>
<div class="line"></div>
<div class="line">        <span class="comment">// Clone the current segment-date</span></div>
<div class="line">        SegmentDate&amp; lCloneSegmentDate = cloneSegmentDate (*lSD_ptr);</div>
<div class="line">        <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneFlightDate, lCloneSegmentDate);</div>
<div class="line">        <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneFlightDate, lCloneSegmentDate);</div>
<div class="line"></div>
<div class="line">      }</div>
<div class="line">    }</div>
<div class="line">      </div>
<div class="line">    <span class="keywordflow">return</span> lCloneFlightDate; </div>
<div class="line">  } </div>
<div class="line"></div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  LegDate&amp; CmdCloneBomManager::cloneLegDate (<span class="keyword">const</span> LegDate&amp; iLegDate) { </div>
<div class="line"></div>
<div class="line">    LegDate&amp; lCloneLegDate = </div>
<div class="line">      <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom&lt;LegDate&gt;::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iLegDate);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Check whether there are LegCabin objects</span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasLegCabinList = BomManager::hasList&lt;LegCabin&gt; (iLegDate);</div>
<div class="line">    <span class="keywordflow">if</span> (hasLegCabinList == <span class="keyword">true</span>) {</div>
<div class="line">      <span class="comment">// Browse the leg-cabins</span></div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#ad5491ad2e9525a32f0bb858dd5fde224">LegCabinList_T</a>&amp; lLegCabinList =</div>
<div class="line">        BomManager::getList&lt;LegCabin&gt; (iLegDate);</div>
<div class="line">      <span class="keywordflow">for</span> (LegCabinList_T::const_iterator itLC = lLegCabinList.begin();</div>
<div class="line">           itLC != lLegCabinList.end(); ++itLC) {</div>
<div class="line">        <span class="keyword">const</span> LegCabin* lLC_ptr = *itLC;</div>
<div class="line">        assert (lLC_ptr != NULL);</div>
<div class="line"></div>
<div class="line">        <span class="comment">// Clone the current leg-cabin  </span></div>
<div class="line">        LegCabin&amp; lCloneLegCabin = cloneLegCabin (*lLC_ptr);</div>
<div class="line">        <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneLegDate, lCloneLegCabin);</div>
<div class="line">        <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneLegDate, lCloneLegCabin);</div>
<div class="line">      }</div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">return</span> lCloneLegDate;</div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  LegCabin&amp; CmdCloneBomManager::cloneLegCabin (<span class="keyword">const</span> LegCabin&amp; iLegCabin) { </div>
<div class="line"></div>
<div class="line">    LegCabin&amp; lCloneLegCabin = </div>
<div class="line">      <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom&lt;LegCabin&gt;::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iLegCabin);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Check whether there are Bucket objects</span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasBucketList = BomManager::hasList&lt;Bucket&gt; (iLegCabin);</div>
<div class="line">    <span class="keywordflow">if</span> (hasBucketList == <span class="keyword">true</span>) {</div>
<div class="line">      <span class="comment">// Browse the buckets</span></div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#ac1a5f291b14977f8533e75bc23c4b428">BucketList_T</a>&amp; lBucketList =</div>
<div class="line">        BomManager::getList&lt;Bucket&gt; (iLegCabin);</div>
<div class="line">      <span class="keywordflow">for</span> (BucketList_T::const_iterator itBucket = lBucketList.begin();</div>
<div class="line">           itBucket != lBucketList.end(); ++itBucket) {</div>
<div class="line">        <span class="keyword">const</span> Bucket* lBucket_ptr = *itBucket;</div>
<div class="line">        assert (lBucket_ptr != NULL);</div>
<div class="line"></div>
<div class="line">        <span class="comment">// Clone the current bucket</span></div>
<div class="line">        Bucket&amp; lCloneBucket = cloneBucket (*lBucket_ptr);</div>
<div class="line">        <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneLegCabin, lCloneBucket);</div>
<div class="line">        <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneLegCabin, lCloneBucket);</div>
<div class="line">      }  </div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">return</span> lCloneLegCabin;</div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  Bucket&amp; CmdCloneBomManager::cloneBucket (<span class="keyword">const</span> Bucket&amp; iBucket) { </div>
<div class="line"></div>
<div class="line">    Bucket&amp; lCloneBucket = </div>
<div class="line">      <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom&lt;Bucket&gt;::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iBucket);  </div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">return</span> lCloneBucket;</div>
<div class="line">  } </div>
<div class="line"></div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  SegmentDate&amp; CmdCloneBomManager::</div>
<div class="line">  cloneSegmentDate (<span class="keyword">const</span> SegmentDate&amp; iSegmentDate) { </div>
<div class="line"></div>
<div class="line">    SegmentDate&amp; lCloneSegmentDate = </div>
<div class="line">      <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom&lt;SegmentDate&gt;::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iSegmentDate);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Check whether there are SegmentCabin objects</span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasSegmentCabinList = </div>
<div class="line">      BomManager::hasList&lt;SegmentCabin&gt; (iSegmentDate);</div>
<div class="line">    <span class="keywordflow">if</span> (hasSegmentCabinList == <span class="keyword">true</span>) {</div>
<div class="line">      <span class="comment">// Browse the segment-cabins</span></div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#a77747e9e9d97c04f98993229220b3aec">SegmentCabinList_T</a>&amp; lSegmentCabinList =</div>
<div class="line">        BomManager::getList&lt;SegmentCabin&gt; (iSegmentDate);</div>
<div class="line">      <span class="keywordflow">for</span> (SegmentCabinList_T::const_iterator itSC = lSegmentCabinList.begin();</div>
<div class="line">           itSC != lSegmentCabinList.end(); ++itSC) {</div>
<div class="line">        <span class="keyword">const</span> SegmentCabin* lSC_ptr = *itSC;</div>
<div class="line">        assert (lSC_ptr != NULL);</div>
<div class="line"></div>
<div class="line">        <span class="comment">// Clone the current segment-cabin      </span></div>
<div class="line">        SegmentCabin&amp; lCloneSegmentCabin = cloneSegmentCabin (*lSC_ptr);</div>
<div class="line">        <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneSegmentDate, lCloneSegmentCabin);</div>
<div class="line">        <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneSegmentDate, lCloneSegmentCabin);</div>
<div class="line">   </div>
<div class="line">        linkBookingClassesWithSegment (lCloneSegmentDate,</div>
<div class="line">                                       lCloneSegmentCabin);</div>
<div class="line"></div>
<div class="line">      }</div>
<div class="line">    }</div>
<div class="line">    <span class="keywordflow">return</span> lCloneSegmentDate;</div>
<div class="line">  } </div>
<div class="line"></div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  <span class="keywordtype">void</span> CmdCloneBomManager::</div>
<div class="line">  linkBookingClassesWithSegment (SegmentDate&amp; iCloneSegmentDate,</div>
<div class="line">                                 SegmentCabin&amp; iCloneSegmentCabin) {    </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Browse the fare families to link the booking-classes to the </span></div>
<div class="line">    <span class="comment">// segment-cabin and to the segment-date </span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasFareFamilyList = </div>
<div class="line">      BomManager::hasList&lt;FareFamily&gt; (iCloneSegmentCabin);</div>
<div class="line">    <span class="keywordflow">if</span> (hasFareFamilyList == <span class="keyword">true</span>) {</div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#a4bd88a2bde64467cbdec49a20eb51f5e">FareFamilyList_T</a>&amp; lCloneFFList =</div>
<div class="line">        BomManager::getList&lt;FareFamily&gt; (iCloneSegmentCabin);</div>
<div class="line">      <span class="keywordflow">for</span> (FareFamilyList_T::const_iterator itCloneFF = lCloneFFList.begin();</div>
<div class="line">           itCloneFF != lCloneFFList.end(); ++itCloneFF) {</div>
<div class="line">        <span class="keyword">const</span> FareFamily* lCloneFF_ptr = *itCloneFF;</div>
<div class="line">        assert (lCloneFF_ptr != NULL);</div>
<div class="line"></div>
<div class="line">        <span class="comment">// Browse the list of booking classes </span></div>
<div class="line">        <span class="keyword">const</span> <span class="keywordtype">bool</span> hasBookingClasslist = </div>
<div class="line">          BomManager::hasList&lt;BookingClass&gt; (*lCloneFF_ptr);</div>
<div class="line">        <span class="keywordflow">if</span> (hasBookingClasslist == <span class="keyword">true</span>) {</div>
<div class="line">          <span class="keyword">const</span> <a class="code" href="a00535.html#a4f856d999ece4dac721ce2278072a0da">BookingClassList_T</a>&amp; lCloneBCList =</div>
<div class="line">            BomManager::getList&lt;BookingClass&gt; (*lCloneFF_ptr);</div>
<div class="line">          <span class="keywordflow">for</span> (BookingClassList_T::const_iterator itCloneBC =</div>
<div class="line">                 lCloneBCList.begin();</div>
<div class="line">               itCloneBC != lCloneBCList.end(); ++itCloneBC) {</div>
<div class="line">            <span class="keyword">const</span> BookingClass* lCloneBC_ptr = *itCloneBC;</div>
<div class="line">            assert (lCloneBC_ptr != NULL);</div>
<div class="line">                </div>
<div class="line">            <span class="comment">// Link the booking-class to the segment-cabin</span></div>
<div class="line">            <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">stdair::FacBomManager::addToListAndMap</a> (iCloneSegmentCabin, </div>
<div class="line">                                                    *lCloneBC_ptr);</div>
<div class="line"></div>
<div class="line">            <span class="comment">// Link the booking-class to the segment-date</span></div>
<div class="line">            <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">stdair::FacBomManager::addToListAndMap</a> (iCloneSegmentDate, </div>
<div class="line">                                                    *lCloneBC_ptr);</div>
<div class="line">          }</div>
<div class="line">        }</div>
<div class="line">      }</div>
<div class="line">    }</div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  SegmentCabin&amp; CmdCloneBomManager::</div>
<div class="line">  cloneSegmentCabin (<span class="keyword">const</span> SegmentCabin&amp; iSegmentCabin) { </div>
<div class="line"></div>
<div class="line">    SegmentCabin&amp; lCloneSegmentCabin = </div>
<div class="line">      <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom&lt;SegmentCabin&gt;::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iSegmentCabin);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Check whether there are fare family objects </span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasFareFamilyList = </div>
<div class="line">      BomManager::hasList&lt;FareFamily&gt; (iSegmentCabin);</div>
<div class="line">    <span class="keywordflow">if</span> (hasFareFamilyList == <span class="keyword">true</span>) {</div>
<div class="line">      <span class="comment">// Browse the fare families</span></div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#a4bd88a2bde64467cbdec49a20eb51f5e">FareFamilyList_T</a>&amp; lFareFamilyList =</div>
<div class="line">        BomManager::getList&lt;FareFamily&gt; (iSegmentCabin);</div>
<div class="line">      <span class="keywordflow">for</span> (FareFamilyList_T::const_iterator itFF = lFareFamilyList.begin();</div>
<div class="line">           itFF != lFareFamilyList.end(); ++itFF) {</div>
<div class="line">        <span class="keyword">const</span> FareFamily* lFF_ptr = *itFF;</div>
<div class="line">        assert (lFF_ptr != NULL);</div>
<div class="line"></div>
<div class="line">        <span class="comment">// Clone the current fare-family        </span></div>
<div class="line">        FareFamily&amp; lCloneFareFamily = cloneFareFamily (*lFF_ptr);</div>
<div class="line">        <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneSegmentCabin, lCloneFareFamily);</div>
<div class="line">        <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneSegmentCabin, lCloneFareFamily);</div>
<div class="line">      }</div>
<div class="line">    }</div>
<div class="line">    </div>
<div class="line">    <span class="keywordflow">return</span> lCloneSegmentCabin;</div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  FareFamily&amp; CmdCloneBomManager::</div>
<div class="line">  cloneFareFamily (<span class="keyword">const</span> FareFamily&amp; iFareFamily) {</div>
<div class="line">    FareFamily&amp; lCloneFareFamily = </div>
<div class="line">      <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom&lt;FareFamily&gt;::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iFareFamily);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Check whether there are booking classes objects</span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasBookingClassList = </div>
<div class="line">      BomManager::hasList&lt;BookingClass&gt; (iFareFamily);</div>
<div class="line">    <span class="keywordflow">if</span> (hasBookingClassList == <span class="keyword">true</span>) {</div>
<div class="line">      <span class="comment">// Browse the list of booking classes</span></div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#a4f856d999ece4dac721ce2278072a0da">BookingClassList_T</a>&amp; lBookingClassList =</div>
<div class="line">        BomManager::getList&lt;BookingClass&gt; (iFareFamily);</div>
<div class="line">      <span class="keywordflow">for</span> (BookingClassList_T::const_iterator itBookingClass =</div>
<div class="line">             lBookingClassList.begin();</div>
<div class="line">           itBookingClass != lBookingClassList.end(); ++itBookingClass) {</div>
<div class="line">        <span class="keyword">const</span> BookingClass* lBC_ptr = *itBookingClass;</div>
<div class="line">        assert (lBC_ptr != NULL);</div>
<div class="line"></div>
<div class="line">        <span class="comment">// Clone the current booking class</span></div>
<div class="line">        BookingClass&amp; lCloneBookingClass = cloneBookingClass (*lBC_ptr);</div>
<div class="line">        <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneFareFamily, lCloneBookingClass);</div>
<div class="line">        <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneFareFamily, lCloneBookingClass);</div>
<div class="line">      }</div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">return</span> lCloneFareFamily;</div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  BookingClass&amp; CmdCloneBomManager::</div>
<div class="line">  cloneBookingClass (<span class="keyword">const</span> BookingClass&amp; iBookingClass) {</div>
<div class="line">    </div>
<div class="line">    BookingClass&amp; lCloneBookingClass = </div>
<div class="line">      <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom&lt;BookingClass&gt;::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iBookingClass);</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">return</span> lCloneBookingClass;</div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  AirportPair&amp; CmdCloneBomManager::</div>
<div class="line">  cloneAirportPair (<span class="keyword">const</span> AirportPair&amp; iAirportPair) {</div>
<div class="line"></div>
<div class="line">    AirportPair&amp; lCloneAirportPair = </div>
<div class="line">      <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom&lt;AirportPair&gt;::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iAirportPair);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Check whether there are date-period objects</span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasDatePeriodList = </div>
<div class="line">      BomManager::hasList&lt;DatePeriod&gt; (iAirportPair);</div>
<div class="line">    <span class="keywordflow">if</span> (hasDatePeriodList == <span class="keyword">true</span>) {</div>
<div class="line">      <span class="comment">// Browse the date-periods</span></div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#a0cb61b0f5151e050d83c5574f0f55cd0">DatePeriodList_T</a>&amp; lDatePeriodList =</div>
<div class="line">        BomManager::getList&lt;DatePeriod&gt; (iAirportPair);</div>
<div class="line">      <span class="keywordflow">for</span> (DatePeriodList_T::const_iterator itDatePeriod =</div>
<div class="line">             lDatePeriodList.begin();</div>
<div class="line">           itDatePeriod != lDatePeriodList.end(); ++itDatePeriod) {</div>
<div class="line">        <span class="keyword">const</span> DatePeriod* lDatePeriod_ptr = *itDatePeriod;</div>
<div class="line">        assert (lDatePeriod_ptr != NULL);</div>
<div class="line"></div>
<div class="line">        <span class="comment">// Clone the current date-period        </span></div>
<div class="line">        DatePeriod&amp; lCloneDatePeriod = cloneDatePeriod (*lDatePeriod_ptr);</div>
<div class="line">        <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneAirportPair, lCloneDatePeriod);</div>
<div class="line">        <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneAirportPair, lCloneDatePeriod);</div>
<div class="line">      }</div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">return</span> lCloneAirportPair;</div>
<div class="line">  } </div>
<div class="line"></div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  DatePeriod&amp; CmdCloneBomManager::</div>
<div class="line">  cloneDatePeriod (<span class="keyword">const</span> DatePeriod&amp; iDatePeriod) {</div>
<div class="line"></div>
<div class="line">    DatePeriod&amp; lCloneDatePeriod = </div>
<div class="line">      <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom&lt;DatePeriod&gt;::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iDatePeriod);  </div>
<div class="line"></div>
<div class="line">    <span class="comment">// Check whether there are pos-channel objects</span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasPosChannelList = </div>
<div class="line">      BomManager::hasList&lt;PosChannel&gt; (iDatePeriod);</div>
<div class="line">    <span class="keywordflow">if</span> (hasPosChannelList == <span class="keyword">true</span>) {</div>
<div class="line">      <span class="comment">// Browse the pos-channels</span></div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#ab378126c72fa818a3741ba1f3978a480">PosChannelList_T</a>&amp; lPosChannelList =</div>
<div class="line">        BomManager::getList&lt;PosChannel&gt; (iDatePeriod);</div>
<div class="line">      <span class="keywordflow">for</span> (PosChannelList_T::const_iterator itPosChannel =</div>
<div class="line">             lPosChannelList.begin();</div>
<div class="line">           itPosChannel != lPosChannelList.end(); ++itPosChannel) {</div>
<div class="line">        <span class="keyword">const</span> PosChannel* lPosChannel_ptr = *itPosChannel;</div>
<div class="line">        assert (lPosChannel_ptr != NULL);</div>
<div class="line"></div>
<div class="line">        <span class="comment">// Clone the current pos-channel        </span></div>
<div class="line">        PosChannel&amp; lClonePosChannel = clonePosChannel (*lPosChannel_ptr);</div>
<div class="line">        <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneDatePeriod, lClonePosChannel);</div>
<div class="line">        <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneDatePeriod, lClonePosChannel);</div>
<div class="line">      }</div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">return</span> lCloneDatePeriod;</div>
<div class="line">  }</div>
<div class="line">  </div>
<div class="line">  </div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  PosChannel&amp; CmdCloneBomManager::</div>
<div class="line">  clonePosChannel (<span class="keyword">const</span> PosChannel&amp; iPosChannel) {</div>
<div class="line">    </div>
<div class="line">    PosChannel&amp; lClonePosChannel = </div>
<div class="line">      <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom&lt;PosChannel&gt;::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iPosChannel);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Check whether there are time-period objects</span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasTimePeriodList = </div>
<div class="line">      BomManager::hasList&lt;TimePeriod&gt; (iPosChannel);</div>
<div class="line">    <span class="keywordflow">if</span> (hasTimePeriodList == <span class="keyword">true</span>) {</div>
<div class="line">      <span class="comment">// Browse the time-periods</span></div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#a060ae38f706a8d404f558060855e0c43">TimePeriodList_T</a>&amp; lTimePeriodList =</div>
<div class="line">        BomManager::getList&lt;TimePeriod&gt; (iPosChannel);</div>
<div class="line">      <span class="keywordflow">for</span> (TimePeriodList_T::const_iterator itTimePeriod =</div>
<div class="line">             lTimePeriodList.begin();</div>
<div class="line">           itTimePeriod != lTimePeriodList.end(); ++itTimePeriod) {</div>
<div class="line">        <span class="keyword">const</span> TimePeriod* lTimePeriod_ptr = *itTimePeriod;</div>
<div class="line">        assert (lTimePeriod_ptr != NULL);</div>
<div class="line"></div>
<div class="line">        <span class="comment">// Clone the current time-period        </span></div>
<div class="line">        TimePeriod&amp; lCloneTimePeriod = cloneTimePeriod (*lTimePeriod_ptr);</div>
<div class="line">        <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lClonePosChannel, lCloneTimePeriod);</div>
<div class="line">        <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lClonePosChannel, lCloneTimePeriod);</div>
<div class="line">      }</div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">return</span> lClonePosChannel;</div>
<div class="line">  }</div>
<div class="line">  </div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  TimePeriod&amp; CmdCloneBomManager::</div>
<div class="line">  cloneTimePeriod (<span class="keyword">const</span> TimePeriod&amp; iTimePeriod) {</div>
<div class="line">    </div>
<div class="line">    TimePeriod&amp; lCloneTimePeriod = </div>
<div class="line">      <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom&lt;TimePeriod&gt;::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iTimePeriod);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Check whether there are fare-feature objects</span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasFareFeaturesList = </div>
<div class="line">      BomManager::hasList&lt;FareFeatures&gt; (iTimePeriod);</div>
<div class="line">    <span class="keywordflow">if</span> (hasFareFeaturesList == <span class="keyword">true</span>) {</div>
<div class="line">      <span class="comment">// Browse the fare-features</span></div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#a0df270edcfb5329221a2ef19764786c8">FareFeaturesList_T</a>&amp; lFareFeaturesList =</div>
<div class="line">        BomManager::getList&lt;FareFeatures&gt; (iTimePeriod);</div>
<div class="line">      <span class="keywordflow">for</span> (FareFeaturesList_T::const_iterator itFF = lFareFeaturesList.begin();</div>
<div class="line">           itFF != lFareFeaturesList.end(); ++itFF) {</div>
<div class="line">        <span class="keyword">const</span> FareFeatures* lFF_ptr = *itFF;</div>
<div class="line">        assert (lFF_ptr != NULL);</div>
<div class="line"></div>
<div class="line">        <span class="comment">// Clone the current fare-feature       </span></div>
<div class="line">        FareFeatures&amp; lCloneFareFeatures = </div>
<div class="line">          cloneFeatures&lt;FareFeatures&gt; (*lFF_ptr);</div>
<div class="line">        <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneTimePeriod, lCloneFareFeatures);</div>
<div class="line">        <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneTimePeriod, lCloneFareFeatures);</div>
<div class="line">      }</div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Check whether there are yield-feature objects  </span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasYieldFeaturesList = </div>
<div class="line">      BomManager::hasList&lt;YieldFeatures&gt; (iTimePeriod);</div>
<div class="line">    <span class="keywordflow">if</span> (hasYieldFeaturesList == <span class="keyword">true</span>) {</div>
<div class="line">      <span class="comment">// Browse the yield-features</span></div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#ad1c7cd5db8cf3ed3e721595087ac98c7">YieldFeaturesList_T</a>&amp; lYieldFeaturesList =</div>
<div class="line">        BomManager::getList&lt;YieldFeatures&gt; (iTimePeriod);</div>
<div class="line">      <span class="keywordflow">for</span> (YieldFeaturesList_T::const_iterator itYF =</div>
<div class="line">             lYieldFeaturesList.begin();</div>
<div class="line">           itYF != lYieldFeaturesList.end(); ++itYF) {</div>
<div class="line">        <span class="keyword">const</span> YieldFeatures* lYF_ptr = *itYF;</div>
<div class="line">        assert (lYF_ptr != NULL);</div>
<div class="line"></div>
<div class="line">        <span class="comment">// Clone the current yield-feature      </span></div>
<div class="line">        YieldFeatures&amp; lCloneYieldFeatures = </div>
<div class="line">          cloneFeatures&lt;YieldFeatures&gt; (*lYF_ptr);</div>
<div class="line">        <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneTimePeriod, lCloneYieldFeatures);</div>
<div class="line">        <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneTimePeriod, lCloneYieldFeatures);</div>
<div class="line">      }</div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">return</span> lCloneTimePeriod;</div>
<div class="line">  }</div>
<div class="line">  </div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////  </span></div>
<div class="line">  <span class="keyword">template</span> &lt;<span class="keyword">typename</span> FEATURE_TYPE&gt;</div>
<div class="line">  FEATURE_TYPE&amp; CmdCloneBomManager::</div>
<div class="line">  cloneFeatures (<span class="keyword">const</span> FEATURE_TYPE&amp; iFeatures) {</div>
<div class="line"></div>
<div class="line">    FEATURE_TYPE&amp; lCloneFeatures = </div>
<div class="line">      <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom&lt;FEATURE_TYPE&gt;::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iFeatures);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Check whether there are airline-class list objects</span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasAirlineClassListList = </div>
<div class="line">      BomManager::hasList&lt;AirlineClassList&gt; (iFeatures);</div>
<div class="line">    <span class="keywordflow">if</span> (hasAirlineClassListList == <span class="keyword">true</span>) {</div>
<div class="line">      <span class="comment">// Browse the airline-class lists</span></div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#a7ff85610013b5efb917da243eee41683">AirlineClassListList_T</a>&amp; lAirlineClassList =</div>
<div class="line">        BomManager::getList&lt;AirlineClassList&gt; (iFeatures);</div>
<div class="line">      <span class="keywordflow">for</span> (AirlineClassListList_T::const_iterator itACList =</div>
<div class="line">             lAirlineClassList.begin();</div>
<div class="line">           itACList != lAirlineClassList.end(); ++itACList) {</div>
<div class="line">        <span class="keyword">const</span> AirlineClassList* lACList_ptr = *itACList;</div>
<div class="line">        assert (lACList_ptr != NULL);</div>
<div class="line"></div>
<div class="line">        <span class="comment">// Clone the current airline-class list </span></div>
<div class="line">        AirlineClassList&amp; lCloneAirlineClassList =</div>
<div class="line">          cloneAirlineClassList (*lACList_ptr);</div>
<div class="line">        <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneFeatures,</div>
<div class="line">                                        lCloneAirlineClassList);</div>
<div class="line">        <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneFeatures,</div>
<div class="line">                                       lCloneAirlineClassList);</div>
<div class="line">      }</div>
<div class="line">    }</div>
<div class="line">    </div>
<div class="line">    <span class="keywordflow">return</span> lCloneFeatures;</div>
<div class="line">  }</div>
<div class="line">  </div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  AirlineClassList&amp; CmdCloneBomManager::</div>
<div class="line">  cloneAirlineClassList (<span class="keyword">const</span> AirlineClassList&amp; iAirlineClassList) {</div>
<div class="line">    </div>
<div class="line">    AirlineClassList&amp; lCloneAirlineClassList = </div>
<div class="line">      <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom&lt;AirlineClassList&gt;::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iAirlineClassList);</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">return</span> lCloneAirlineClassList;</div>
<div class="line">  }  </div>
<div class="line"></div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  FlightPeriod&amp; CmdCloneBomManager::</div>
<div class="line">  cloneFlightPeriod (<span class="keyword">const</span> FlightPeriod&amp; iFlightPeriod) {</div>
<div class="line">    </div>
<div class="line">    FlightPeriod&amp; lCloneFlightPeriod = </div>
<div class="line">      <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom&lt;FlightPeriod&gt;::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iFlightPeriod);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Check whether there are airline-class list objects</span></div>
<div class="line">    <span class="keyword">const</span> <span class="keywordtype">bool</span> hasSegmentPeriodList = </div>
<div class="line">      BomManager::hasList&lt;SegmentPeriod&gt; (iFlightPeriod);</div>
<div class="line">    <span class="keywordflow">if</span> (hasSegmentPeriodList == <span class="keyword">true</span>) {</div>
<div class="line">      <span class="comment">// Browse the airline-class lists</span></div>
<div class="line">      <span class="keyword">const</span> <a class="code" href="a00535.html#a3fdd48b295e0d4dec52c6fce1786b3c3">SegmentPeriodList_T</a>&amp; lSegmentPeriodList =</div>
<div class="line">        BomManager::getList&lt;SegmentPeriod&gt; (iFlightPeriod);</div>
<div class="line">      <span class="keywordflow">for</span> (SegmentPeriodList_T::const_iterator itSegmentPeriod =</div>
<div class="line">             lSegmentPeriodList.begin();</div>
<div class="line">           itSegmentPeriod != lSegmentPeriodList.end(); ++itSegmentPeriod) {</div>
<div class="line">        <span class="keyword">const</span> SegmentPeriod* lSegmentPeriod_ptr = *itSegmentPeriod;</div>
<div class="line">        assert (lSegmentPeriod_ptr != NULL);</div>
<div class="line"></div>
<div class="line">        <span class="comment">// Clone the current airline-class list </span></div>
<div class="line">        SegmentPeriod&amp; lCloneSegmentPeriod =</div>
<div class="line">          cloneSegmentPeriod (*lSegmentPeriod_ptr);</div>
<div class="line">        <a class="code" href="a00090.html#a02632e67fb9c9f0a74bbb1fbc65f6d77">FacBomManager::addToListAndMap</a> (lCloneFlightPeriod,</div>
<div class="line">                                        lCloneSegmentPeriod);</div>
<div class="line">        <a class="code" href="a00090.html#a9a318ebaa4b2d7512b6ac56cff4580a8">FacBomManager::linkWithParent</a> (lCloneFlightPeriod,</div>
<div class="line">                                       lCloneSegmentPeriod);</div>
<div class="line">      }</div>
<div class="line">    }</div>
<div class="line">    </div>
<div class="line">    <span class="keywordflow">return</span> lCloneFlightPeriod;</div>
<div class="line">  } </div>
<div class="line"></div>
<div class="line">  <span class="comment">// ////////////////////////////////////////////////////////////////////</span></div>
<div class="line">  SegmentPeriod&amp; CmdCloneBomManager::</div>
<div class="line">  cloneSegmentPeriod (<span class="keyword">const</span> SegmentPeriod&amp; iSegmentPeriod) {</div>
<div class="line">    </div>
<div class="line">    SegmentPeriod&amp; lCloneSegmentPeriod = </div>
<div class="line">      <a class="code" href="a00091.html#a5bd6cee864fd6be4482c3d107db69b2c">FacCloneBom&lt;SegmentPeriod&gt;::instance</a>().<a class="code" href="a00091.html#ab652e78123f0866cac493804a07e9e7b">clone</a> (iSegmentPeriod);</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">return</span> lCloneSegmentPeriod;</div>
<div class="line">  }</div>
<div class="line"></div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="comment">/*!</span></div>
</div><!-- fragment --> </div></div><!-- contents -->
</div><!-- doc-content -->
		
		<li class="footer">Generated on Wed May 22 2013 10:51:59 for StdAir by
		  <a href="http://www.doxygen.org/index.html">
			<img class="footer" src="doxygen.png" alt="doxygen"/></a> 
		  1.8.3.1
		</li>
		<li class="footer">
		  <a href="http://sourceforge.net/projects/stdair"><img class="footer" src="http://sflogo.sourceforge.net/sflogo.php?group_id=267760&type=12&format=.png" alt="SourceForge Logo"></a>
		</li>
	  </ul>
	</div>
  </body>
</html>