You can subscribe to this list here.
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(5) |
Aug
|
Sep
|
Oct
(51) |
Nov
(8) |
Dec
(13) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2010 |
Jan
(32) |
Feb
(47) |
Mar
(6) |
Apr
(19) |
May
(7) |
Jun
(19) |
Jul
(39) |
Aug
(51) |
Sep
(39) |
Oct
(18) |
Nov
(10) |
Dec
(27) |
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <qua...@us...> - 2010-04-07 14:59:24
|
Revision: 170 http://stdair.svn.sourceforge.net/stdair/?rev=170&view=rev Author: quannaus Date: 2010-04-07 14:59:18 +0000 (Wed, 07 Apr 2010) Log Message: ----------- [dev] Removed the template argument for 'testLink' function. Modified Paths: -------------- trunk/stdair/stdair/batches/stdair.cpp trunk/stdair/stdair/bom/BR.hpp trunk/stdair/stdair/bom/FD.hpp trunk/stdair/stdair/bom/IN.hpp trunk/stdair/stdair/bom/ND.hpp trunk/stdair/stdair/bom/Structure.hpp Property Changed: ---------------- trunk/stdair/stdair/batches/ Property changes on: trunk/stdair/stdair/batches ___________________________________________________________________ Modified: svn:ignore - .deps .libs Makefile.in Makefile stdair + Makefile.in Makefile stdair .libs .deps Modified: trunk/stdair/stdair/batches/stdair.cpp =================================================================== --- trunk/stdair/stdair/batches/stdair.cpp 2010-04-06 15:34:20 UTC (rev 169) +++ trunk/stdair/stdair/batches/stdair.cpp 2010-04-07 14:59:18 UTC (rev 170) @@ -32,17 +32,17 @@ stdair::INKey_T lINKey ("BA"); stdair::IN& lIN = stdair::FacBomContent::instance().testCreate<stdair::IN> (lINKey); - stdair::FacBomContent::testLink<stdair::IN> (lIN, lBR); + stdair::FacBomContent::testLink (lIN, lBR); stdair::FDKey_T lFDKey (17); stdair::FD& lFD = stdair::FacBomContent::instance().testCreate<stdair::FD> (lFDKey); - stdair::FacBomContent::testLink<stdair::FD> (lFD, lIN); + stdair::FacBomContent::testLink (lFD, lIN); stdair::NDKey_T lNDKey (1); stdair::ND& lND = stdair::FacBomContent::instance().testCreate<stdair::ND> (lNDKey); - stdair::FacBomContent::testLink<stdair::ND> (lND, lIN); + stdair::FacBomContent::testLink (lND, lIN); // Browse Modified: trunk/stdair/stdair/bom/BR.hpp =================================================================== --- trunk/stdair/stdair/bom/BR.hpp 2010-04-06 15:34:20 UTC (rev 169) +++ trunk/stdair/stdair/bom/BR.hpp 2010-04-07 14:59:18 UTC (rev 170) @@ -6,9 +6,6 @@ // ////////////////////////////////////////////////////////////////////// // STL #include <iosfwd> -// BOOST Fusion -#include <boost/fusion/container/map.hpp> -#include <boost/fusion/include/map.hpp> // STDAIR #include <stdair/bom/Structure.hpp> #include <stdair/bom/BomContent.hpp> Modified: trunk/stdair/stdair/bom/FD.hpp =================================================================== --- trunk/stdair/stdair/bom/FD.hpp 2010-04-06 15:34:20 UTC (rev 169) +++ trunk/stdair/stdair/bom/FD.hpp 2010-04-07 14:59:18 UTC (rev 170) @@ -6,9 +6,6 @@ // ////////////////////////////////////////////////////////////////////// // STL #include <iosfwd> -// BOOST Fusion -#include <boost/fusion/container/map.hpp> -#include <boost/fusion/include/map.hpp> // STDAIR #include <stdair/bom/Structure.hpp> #include <stdair/bom/BomContent.hpp> Modified: trunk/stdair/stdair/bom/IN.hpp =================================================================== --- trunk/stdair/stdair/bom/IN.hpp 2010-04-06 15:34:20 UTC (rev 169) +++ trunk/stdair/stdair/bom/IN.hpp 2010-04-07 14:59:18 UTC (rev 170) @@ -6,9 +6,6 @@ // ////////////////////////////////////////////////////////////////////// // STL #include <iosfwd> -// BOOST Fusion -#include <boost/fusion/container/map.hpp> -#include <boost/fusion/include/map.hpp> // STDAIR #include <stdair/bom/Structure.hpp> #include <stdair/bom/BomContent.hpp> Modified: trunk/stdair/stdair/bom/ND.hpp =================================================================== --- trunk/stdair/stdair/bom/ND.hpp 2010-04-06 15:34:20 UTC (rev 169) +++ trunk/stdair/stdair/bom/ND.hpp 2010-04-07 14:59:18 UTC (rev 170) @@ -6,9 +6,6 @@ // ////////////////////////////////////////////////////////////////////// // STL #include <iosfwd> -// BOOST Fusion -#include <boost/fusion/container/map.hpp> -#include <boost/fusion/include/map.hpp> // STDAIR #include <stdair/bom/Structure.hpp> #include <stdair/bom/BomContent.hpp> @@ -36,7 +33,7 @@ /** Definition allowing to retrieve the associated BOM key type. */ typedef NDKey_T Key_T; -/** Define the list of children holder types. */ + /** Define the list of children holder types. */ typedef boost::fusion::map< > ChildrenHolderTypeMap_T; // ///////////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/Structure.hpp =================================================================== --- trunk/stdair/stdair/bom/Structure.hpp 2010-04-06 15:34:20 UTC (rev 169) +++ trunk/stdair/stdair/bom/Structure.hpp 2010-04-07 14:59:18 UTC (rev 170) @@ -52,7 +52,6 @@ return *lHolder_ptr; } - private: public: // /////////// Display support methods ///////// /** Dump a Business Object into an output stream. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <qua...@us...> - 2010-04-06 15:34:27
|
Revision: 169 http://stdair.svn.sourceforge.net/stdair/?rev=169&view=rev Author: quannaus Date: 2010-04-06 15:34:20 +0000 (Tue, 06 Apr 2010) Log Message: ----------- [dev] test new implementation. Modified Paths: -------------- trunk/stdair/stdair/batches/stdair.cpp trunk/stdair/stdair/bom/BR.hpp trunk/stdair/stdair/bom/FD.hpp trunk/stdair/stdair/bom/IN.hpp trunk/stdair/stdair/bom/ND.hpp trunk/stdair/stdair/bom/Structure.hpp trunk/stdair/stdair/bom/sources.mk trunk/stdair/stdair/factory/FacBomContent.hpp trunk/stdair/stdair/factory/FacBomStructure.hpp Removed Paths: ------------- trunk/stdair/stdair/bom/BS.hpp trunk/stdair/stdair/bom/BSKey.hpp trunk/stdair/stdair/bom/BSTypes.hpp Modified: trunk/stdair/stdair/batches/stdair.cpp =================================================================== --- trunk/stdair/stdair/batches/stdair.cpp 2010-04-06 14:33:30 UTC (rev 168) +++ trunk/stdair/stdair/batches/stdair.cpp 2010-04-06 15:34:20 UTC (rev 169) @@ -18,6 +18,7 @@ #include <stdair/bom/ND.hpp> #include <stdair/bom/NDKey.hpp> #include <stdair/bom/NDTypes.hpp> +#include <stdair/bom/BomList.hpp> #include <stdair/factory/FacBomContent.hpp> @@ -31,7 +32,40 @@ stdair::INKey_T lINKey ("BA"); stdair::IN& lIN = stdair::FacBomContent::instance().testCreate<stdair::IN> (lINKey); - + stdair::FacBomContent::testLink<stdair::IN> (lIN, lBR); + + stdair::FDKey_T lFDKey (17); + stdair::FD& lFD = + stdair::FacBomContent::instance().testCreate<stdair::FD> (lFDKey); + stdair::FacBomContent::testLink<stdair::FD> (lFD, lIN); + + stdair::NDKey_T lNDKey (1); + stdair::ND& lND = + stdair::FacBomContent::instance().testCreate<stdair::ND> (lNDKey); + stdair::FacBomContent::testLink<stdair::ND> (lND, lIN); + + + // Browse + stdair::INList_T lINList = lBR.getINList(); + for (stdair::INList_T::iterator it = lINList.begin(); + it != lINList.end(); ++it) { + const stdair::IN& lCurrentIN = *it; + std::cout << "Current IN: " << lCurrentIN.toString() << std::endl; + + stdair::FDList_T lFDList = lIN.getFDList(); + for (stdair::FDList_T::iterator it = lFDList.begin(); + it != lFDList.end(); ++it) { + const stdair::FD& lCurrentFD = *it; + std::cout << "Current FD: " << lCurrentFD.toString() << std::endl; + } + stdair::NDList_T lNDList = lIN.getNDList(); + for (stdair::NDList_T::iterator it = lNDList.begin(); + it != lNDList.end(); ++it) { + const stdair::ND& lCurrentND = *it; + std::cout << "Current ND: " << lCurrentND.toString() << std::endl; + } + + } } catch (const std::exception& stde) { std::cerr << "Standard exception: " << stde.what() << std::endl; Modified: trunk/stdair/stdair/bom/BR.hpp =================================================================== --- trunk/stdair/stdair/bom/BR.hpp 2010-04-06 14:33:30 UTC (rev 168) +++ trunk/stdair/stdair/bom/BR.hpp 2010-04-06 15:34:20 UTC (rev 169) @@ -15,6 +15,8 @@ #include <stdair/bom/BRKey.hpp> #include <stdair/bom/BRTypes.hpp> #include <stdair/bom/INTypes.hpp> +#include <stdair/bom/IN.hpp> +#include <stdair/bom/BomList.hpp> namespace stdair { // Forward declarations. @@ -29,7 +31,7 @@ public: // ///////////////////////////////////////////////////////////////////////// /** Definition allowing to retrieve the associated BOM structure type. */ - typedef BRStructure_T Structure_T; + typedef BRStructure_T BomStructure_T; /** Definition allowing to retrieve the associated BOM key type. */ typedef BRKey_T Key_T; @@ -66,13 +68,17 @@ const Key_T& getKey () const { return _key; } + + const INList_T getINList () const { + return _structure.getChildrenHolder<IN> (); + } public: // //////////// Setters ////////////// private: /** Retrieve the BOM structure object. */ - Structure_T& getStructure () { + BomStructure_T& getStructure () { return _structure; } @@ -82,7 +88,7 @@ /** Default constructors. */ BR (); BR (const BR&); - BR (const Key_T& iKey, Structure_T& ioStructure) + BR (const Key_T& iKey, BomStructure_T& ioStructure) : _key (iKey), _structure (ioStructure) { } /** Destructor. */ virtual ~BR() { } @@ -93,8 +99,7 @@ Key_T _key; /** Reference structure. */ - Structure_T& _structure; - + BomStructure_T& _structure; }; } Deleted: trunk/stdair/stdair/bom/BS.hpp =================================================================== --- trunk/stdair/stdair/bom/BS.hpp 2010-04-06 14:33:30 UTC (rev 168) +++ trunk/stdair/stdair/bom/BS.hpp 2010-04-06 15:34:20 UTC (rev 169) @@ -1,99 +0,0 @@ -#ifndef __STDAIR_BOM_BS_HPP -#define __STDAIR_BOM_BS_HPP - -// ////////////////////////////////////////////////////////////////////// -// Import section -// ////////////////////////////////////////////////////////////////////// -// STL -#include <iosfwd> -// BOOST Fusion -#include <boost/fusion/container/map.hpp> -#include <boost/fusion/include/map.hpp> -// STDAIR -#include <stdair/bom/Structure.hpp> -#include <stdair/bom/BomContent.hpp> -#include <stdair/bom/BSKey.hpp> -#include <stdair/bom/BSTypes.hpp> - -namespace stdair { - // Forward declarations. - class FacBomContent; - - /** Class representing the actual functional/business content - for the Bom root. */ - class BS : public BomContent { - friend class FacBomContent; - - public: - // ///////////////////////////////////////////////////////////////////////// - /** Definition allowing to retrieve the associated BOM structure type. */ - typedef BSStructure_T Structure_T; - - /** Definition allowing to retrieve the associated BOM key type. */ - typedef BSKey_T Key_T; - - /** Define the list of children holder types. */ - typedef boost::fusion::map< - boost::fusion::pair<BS, BSHolder_T*> > ChildrenHolderTypeMap_T; - // ///////////////////////////////////////////////////////////////////////// - - public: - // /////////// Display support methods ///////// - /** Dump a Business Object into an output stream. - @param ostream& the output stream. */ - void toStream (std::ostream& ioOut) const { ioOut << toString(); } - - /** Read a Business Object from an input stream. - @param istream& the input stream. */ - void fromStream (std::istream& ioIn) { } - - /** Get the serialised version of the Business Object. */ - std::string toString() const { return describeKey(); } - - /** Get a string describing the whole key (differentiating two objects - at any level). */ - const std::string describeKey() const { return std::string (""); } - - /** Get a string describing the short key (differentiating two objects - at the same level). */ - const std::string describeShortKey() const { return std::string (""); } - - - public: - // /////////// Getters ///////////// - const Key_T& getKey () const { - return _key; - } - - public: - // //////////// Setters ////////////// - - private: - /** Retrieve the BOM structure object. */ - Structure_T& getStructure () { - return _structure; - } - - protected: - /** Constructors are private so as to force the usage of the Factory - layer. */ - /** Default constructors. */ - BS (); - BS (const BS&); - BS (const Key_T& iKey, Structure_T& ioStructure) - : _key (iKey), _structure (ioStructure) { } - /** Destructor. */ - virtual ~BS() { } - - private: - // Attributes - /** Key. */ - Key_T _key; - - /** Reference structure. */ - Structure_T& _structure; - - }; - -} -#endif // __STDAIR_BOM_BS_HPP Deleted: trunk/stdair/stdair/bom/BSKey.hpp =================================================================== --- trunk/stdair/stdair/bom/BSKey.hpp 2010-04-06 14:33:30 UTC (rev 168) +++ trunk/stdair/stdair/bom/BSKey.hpp 2010-04-06 15:34:20 UTC (rev 169) @@ -1,28 +0,0 @@ -#ifndef __STDAIR_BOM_BSKEY_HPP -#define __STDAIR_BOM_BSKEY_HPP - -namespace stdair { - struct BSKey_T { - - // /////////// Display support methods ///////// - void toStream (std::ostream& ioOut) const { - ioOut << "BSKey: " << toString() << std::endl; - } - - void fromStream (std::istream& ioIn) { - } - - const std::string toString() const { - std::ostringstream oStr; - oStr << " -- STOP -- "; - return oStr.str(); - } - - const std::string describe() const { - return toString(); - } - - }; -} - -#endif // __STDAIR_BOM_BSKEY_HPP Deleted: trunk/stdair/stdair/bom/BSTypes.hpp =================================================================== --- trunk/stdair/stdair/bom/BSTypes.hpp 2010-04-06 14:33:30 UTC (rev 168) +++ trunk/stdair/stdair/bom/BSTypes.hpp 2010-04-06 15:34:20 UTC (rev 169) @@ -1,23 +0,0 @@ -// ////////////////////////////////////////////////////////////////////// -#ifndef __STDAIR_BOM_BSTYPES_HPP -#define __STDAIR_BOM_BSTYPES_HPP - -// ////////////////////////////////////////////////////////////////////// -// Import section -// ////////////////////////////////////////////////////////////////////// - -namespace stdair { - // Forward declarations. - template <typename CONTENT> class Structure; - template <typename CONTENT> class BomChildrenHolderImp; - class BS; - - /** Define the BomRootStructure. */ - typedef Structure<BS> BSStructure_T; - - /** Define the BS holder type. */ - typedef BomChildrenHolderImp<BS> BSHolder_T; - -} -#endif // __STDAIR_BOM_BSTYPES_HPP - Modified: trunk/stdair/stdair/bom/FD.hpp =================================================================== --- trunk/stdair/stdair/bom/FD.hpp 2010-04-06 14:33:30 UTC (rev 168) +++ trunk/stdair/stdair/bom/FD.hpp 2010-04-06 15:34:20 UTC (rev 169) @@ -6,15 +6,18 @@ // ////////////////////////////////////////////////////////////////////// // STL #include <iosfwd> +// BOOST Fusion +#include <boost/fusion/container/map.hpp> +#include <boost/fusion/include/map.hpp> // STDAIR #include <stdair/bom/Structure.hpp> #include <stdair/bom/BomContent.hpp> #include <stdair/bom/FDKey.hpp> #include <stdair/bom/FDTypes.hpp> -#include <stdair/bom/BSTypes.hpp> namespace stdair { // Forward declarations. + class IN; class FacBomContent; /** Class representing the actual functional/business content @@ -24,15 +27,17 @@ public: // ///////////////////////////////////////////////////////////////////////// + /** Definition allowing to retrieve the associated parent. */ + typedef IN Parent_T; + /** Definition allowing to retrieve the associated BOM structure type. */ - typedef FDStructure_T Structure_T; + typedef FDStructure_T BomStructure_T; /** Definition allowing to retrieve the associated BOM key type. */ typedef FDKey_T Key_T; /** Define the list of children holder types. */ - typedef boost::fusion::map< - boost::fusion::pair<BS, BSHolder_T*> > ChildrenHolderTypeMap_T; + typedef boost::fusion::map< > ChildrenHolderTypeMap_T; // ///////////////////////////////////////////////////////////////////////// @@ -69,7 +74,7 @@ private: /** Retrieve the BOM structure object. */ - Structure_T& getStructure () { + BomStructure_T& getStructure () { return _structure; } @@ -79,7 +84,7 @@ /** Default constructors. */ FD (); FD (const FD&); - FD (const Key_T& iKey, Structure_T& ioStructure) + FD (const Key_T& iKey, BomStructure_T& ioStructure) : _key (iKey), _structure (ioStructure) { } /** Destructor. */ virtual ~FD() { } @@ -90,7 +95,7 @@ Key_T _key; /** Reference structure. */ - Structure_T& _structure; + BomStructure_T& _structure; }; Modified: trunk/stdair/stdair/bom/IN.hpp =================================================================== --- trunk/stdair/stdair/bom/IN.hpp 2010-04-06 14:33:30 UTC (rev 168) +++ trunk/stdair/stdair/bom/IN.hpp 2010-04-06 15:34:20 UTC (rev 169) @@ -6,6 +6,9 @@ // ////////////////////////////////////////////////////////////////////// // STL #include <iosfwd> +// BOOST Fusion +#include <boost/fusion/container/map.hpp> +#include <boost/fusion/include/map.hpp> // STDAIR #include <stdair/bom/Structure.hpp> #include <stdair/bom/BomContent.hpp> @@ -13,9 +16,13 @@ #include <stdair/bom/INTypes.hpp> #include <stdair/bom/FDTypes.hpp> #include <stdair/bom/NDTypes.hpp> +#include <stdair/bom/FD.hpp> +#include <stdair/bom/ND.hpp> +#include <stdair/bom/BomList.hpp> namespace stdair { // Forward declarations. + class BR; class FacBomContent; /** Class representing the actual functional/business content @@ -25,8 +32,11 @@ public: // ///////////////////////////////////////////////////////////////////////// + /** Definition allowing to retrieve the associated parent. */ + typedef BR Parent_T; + /** Definition allowing to retrieve the associated BOM structure type. */ - typedef INStructure_T Structure_T; + typedef INStructure_T BomStructure_T; /** Definition allowing to retrieve the associated BOM key type. */ typedef INKey_T Key_T; @@ -64,13 +74,21 @@ const Key_T& getKey () const { return _key; } + + const FDList_T getFDList () const { + return _structure.getChildrenHolder<FD> (); + } + + const NDList_T getNDList () const { + return _structure.getChildrenHolder<ND> (); + } public: // //////////// Setters ////////////// private: /** Retrieve the BOM structure object. */ - Structure_T& getStructure () { + BomStructure_T& getStructure () { return _structure; } @@ -80,7 +98,7 @@ /** Default constructors. */ IN (); IN (const IN&); - IN (const Key_T& iKey, Structure_T& ioStructure) + IN (const Key_T& iKey, BomStructure_T& ioStructure) : _key (iKey), _structure (ioStructure) { } /** Destructor. */ virtual ~IN() { } @@ -91,7 +109,7 @@ Key_T _key; /** Reference structure. */ - Structure_T& _structure; + BomStructure_T& _structure; }; Modified: trunk/stdair/stdair/bom/ND.hpp =================================================================== --- trunk/stdair/stdair/bom/ND.hpp 2010-04-06 14:33:30 UTC (rev 168) +++ trunk/stdair/stdair/bom/ND.hpp 2010-04-06 15:34:20 UTC (rev 169) @@ -6,6 +6,9 @@ // ////////////////////////////////////////////////////////////////////// // STL #include <iosfwd> +// BOOST Fusion +#include <boost/fusion/container/map.hpp> +#include <boost/fusion/include/map.hpp> // STDAIR #include <stdair/bom/Structure.hpp> #include <stdair/bom/BomContent.hpp> @@ -14,6 +17,7 @@ namespace stdair { // Forward declarations. + class IN; class FacBomContent; /** Class representing the actual functional/business content @@ -23,8 +27,11 @@ public: // ///////////////////////////////////////////////////////////////////////// + /** Definition allowing to retrieve the associated parent. */ + typedef IN Parent_T; + /** Definition allowing to retrieve the associated BOM structure type. */ - typedef NDStructure_T Structure_T; + typedef NDStructure_T BomStructure_T; /** Definition allowing to retrieve the associated BOM key type. */ typedef NDKey_T Key_T; @@ -67,7 +74,7 @@ private: /** Retrieve the BOM structure object. */ - Structure_T& getStructure () { + BomStructure_T& getStructure () { return _structure; } @@ -77,7 +84,7 @@ /** Default constructors. */ ND (); ND (const ND&); - ND (const Key_T& iKey, Structure_T& ioStructure) + ND (const Key_T& iKey, BomStructure_T& ioStructure) : _key (iKey), _structure (ioStructure) { } /** Destructor. */ virtual ~ND() { } @@ -88,7 +95,7 @@ Key_T _key; /** Reference structure. */ - Structure_T& _structure; + BomStructure_T& _structure; }; Modified: trunk/stdair/stdair/bom/Structure.hpp =================================================================== --- trunk/stdair/stdair/bom/Structure.hpp 2010-04-06 14:33:30 UTC (rev 168) +++ trunk/stdair/stdair/bom/Structure.hpp 2010-04-06 15:34:20 UTC (rev 169) @@ -6,10 +6,17 @@ // ////////////////////////////////////////////////////////////////////// // STL #include <cassert> +// BOOST Fusion +#include <boost/fusion/container/map.hpp> +#include <boost/fusion/include/map.hpp> +#include <boost/fusion/sequence/intrinsic/at_key.hpp> // STDAIR #include <stdair/bom/BomStructure.hpp> namespace stdair { + // Forward declarations. + template <typename CONTENT> class BomChildrenHolderImp; + /** Wrapper class aimed at holding the actual content, modeled by a specific BomContentRoot class. */ template <typename CONTENT> @@ -20,6 +27,9 @@ public: // Type definitions + /** Definition allowing to retrieve the associated content. */ + typedef CONTENT Content_T; + /** Definition allowing to retrieve the associated key type. */ typedef typename CONTENT::Key_T Key_T; @@ -33,6 +43,15 @@ return _content->getKey(); } + template <typename CHILD> + BomChildrenHolderImp<CHILD>& getChildrenHolder () { + BomChildrenHolderImp<CHILD>* lHolder_ptr = + boost::fusion::at_key<CHILD> (_holderMap); + assert (lHolder_ptr != NULL); + + return *lHolder_ptr; + } + private: public: // /////////// Display support methods ///////// Modified: trunk/stdair/stdair/bom/sources.mk =================================================================== --- trunk/stdair/stdair/bom/sources.mk 2010-04-06 14:33:30 UTC (rev 168) +++ trunk/stdair/stdair/bom/sources.mk 2010-04-06 15:34:20 UTC (rev 169) @@ -95,9 +95,6 @@ $(top_srcdir)/stdair/bom/EventTypes.hpp \ $(top_srcdir)/stdair/bom/BomManager.hpp \ $(top_srcdir)/stdair/bom/Structure.hpp \ - $(top_srcdir)/stdair/bom/BS.hpp \ - $(top_srcdir)/stdair/bom/BSKey.hpp \ - $(top_srcdir)/stdair/bom/BSTypes.hpp \ $(top_srcdir)/stdair/bom/BRKey.hpp \ $(top_srcdir)/stdair/bom/BRTypes.hpp \ $(top_srcdir)/stdair/bom/IN.hpp \ Modified: trunk/stdair/stdair/factory/FacBomContent.hpp =================================================================== --- trunk/stdair/stdair/factory/FacBomContent.hpp 2010-04-06 14:33:30 UTC (rev 168) +++ trunk/stdair/stdair/factory/FacBomContent.hpp 2010-04-06 15:34:20 UTC (rev 169) @@ -13,6 +13,7 @@ #include <stdair/basic/BasConst_Inventory.hpp> #include <stdair/basic/DemandCharacteristicTypes.hpp> #include <stdair/bom/BomStructure.hpp> +#include <stdair/bom/Structure.hpp> #include <stdair/factory/FacBomStructure.hpp> namespace stdair { @@ -47,7 +48,7 @@ typedef typename CONTENT::Key_T KEY_T; // Create the structure/holder object - typedef typename CONTENT::Structure_T STRUCTURE_T; + typedef typename CONTENT::BomStructure_T STRUCTURE_T; STRUCTURE_T& lStructure = FacBomStructure::instance().testCreate<STRUCTURE_T> (); @@ -64,11 +65,41 @@ return *aContent_ptr; } + /** Link a child content objet with his parent. */ + template <typename CHILD> + static void testLink (CHILD& ioChild, typename CHILD::Parent_T& ioParent) { + // Type for the child Bom structure + typedef typename CHILD::BomStructure_T CHILD_STRUCTURE_T; + + // Type for the parent Bom content + typedef typename CHILD::Parent_T PARENT_T; + + // Type for the parent Bom structure + typedef typename PARENT_T::BomStructure_T PARENT_STRUCTURE_T; + + + // Retrieve the child structure object + CHILD_STRUCTURE_T& lStructureChild = ioChild.getStructure (); + + // Retrieve the parent structure object + PARENT_STRUCTURE_T& lStructureParent = ioParent.getStructure (); + + // Link both the parent and child structure objects + const bool hasLinkBeenSuccessful = FacBomStructure:: + testLinkParentWithChild<CHILD_STRUCTURE_T> (lStructureParent, + lStructureChild); + + if (hasLinkBeenSuccessful == false) { + throw ObjectLinkingException(); + } + } + private: /** Link the structure/holder object with its corresponding content object. */ template<typename STRUCTURE, typename CONTENT> static void testSetContent (STRUCTURE& ioStructure, + CONTENT& ioContent) { ioStructure._content = &ioContent; } Modified: trunk/stdair/stdair/factory/FacBomStructure.hpp =================================================================== --- trunk/stdair/stdair/factory/FacBomStructure.hpp 2010-04-06 14:33:30 UTC (rev 168) +++ trunk/stdair/stdair/factory/FacBomStructure.hpp 2010-04-06 15:34:20 UTC (rev 169) @@ -17,6 +17,10 @@ #include <boost/mpl/erase.hpp> #include <boost/mpl/begin_end.hpp> #include <boost/type_traits/is_same.hpp> +// BOOST Fusion +#include <boost/fusion/container/map.hpp> +#include <boost/fusion/include/map.hpp> +#include <boost/fusion/sequence/intrinsic/at_key.hpp> // STDAIR #include <stdair/STDAIR_Types.hpp> #include <stdair/basic/BasConst_Inventory.hpp> @@ -83,13 +87,66 @@ } + + template <typename STRUCTURE_CHILD> + static bool testLinkParentWithChild + (typename STRUCTURE_CHILD::Content_T::Parent_T::BomStructure_T& ioParent, + STRUCTURE_CHILD& ioChild) { + typedef typename STRUCTURE_CHILD::Content_T CHILD_CONTENT_T; + + // Retrive the bom children holder corresponding the the children type. + typedef BomChildrenHolderImp<CHILD_CONTENT_T> CHILDREN_HOLDER_T; + + CHILDREN_HOLDER_T*& lChildrenHolder_ptr = + boost::fusion::at_key<CHILD_CONTENT_T> (ioParent._holderMap); + if (lChildrenHolder_ptr == NULL) { + lChildrenHolder_ptr = &instance().createBomHolder<CHILD_CONTENT_T> (); + } + + bool hasInsertBeenSuccessful = + testAddObjectToHolder <CHILD_CONTENT_T> (*lChildrenHolder_ptr, + ioChild); + + return hasInsertBeenSuccessful; + } + /** Add a BOM object into a dedicated BOM holder by using the + short key of the object. */ + template <typename CONTENT> + static bool testAddObjectToHolder (BomChildrenHolderImp<CONTENT>& ioHolder, + typename CONTENT::BomStructure_T& ioStructure) { + // Retrieve the bom structure type. + typedef typename CONTENT::BomStructure_T STRUCTURE_T; + // Define the bom holder type. + typedef BomChildrenHolderImp<CONTENT> HOLDER_T; + + // Retrieve the short key + const typename STRUCTURE_T::Key_T& lKey = ioStructure.getKey(); + const std::string& lKeyStr = lKey.toString(); + + // Insert the structure object in the dedicated lists + typedef typename HOLDER_T::BomChildrenMap_T BOM_MAP_T; + const bool hasInsertBeenSuccessful = + ioHolder._bomChildrenMap. + insert (typename BOM_MAP_T::value_type (lKeyStr, + &ioStructure)).second; + + if (hasInsertBeenSuccessful == false) { + return hasInsertBeenSuccessful; + } + + ioHolder._bomChildrenList.push_back (&ioStructure); + + return true; + } + + // ////////////////////////////////////////////////////////////////// This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-04-06 14:33:36
|
Revision: 168 http://stdair.svn.sourceforge.net/stdair/?rev=168&view=rev Author: denis_arnaud Date: 2010-04-06 14:33:30 +0000 (Tue, 06 Apr 2010) Log Message: ----------- [Conf] Added the StdAir batch layer. Modified Paths: -------------- trunk/stdair/configure.ac Modified: trunk/stdair/configure.ac =================================================================== --- trunk/stdair/configure.ac 2010-04-06 14:22:08 UTC (rev 167) +++ trunk/stdair/configure.ac 2010-04-06 14:33:30 UTC (rev 168) @@ -210,6 +210,7 @@ stdair/config/Makefile stdair/service/Makefile stdair/core/Makefile + stdair/batches/Makefile doc/Makefile doc/images/Makefile doc/tutorial/Makefile This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-04-06 14:22:14
|
Revision: 167 http://stdair.svn.sourceforge.net/stdair/?rev=167&view=rev Author: denis_arnaud Date: 2010-04-06 14:22:08 +0000 (Tue, 06 Apr 2010) Log Message: ----------- [Bacthes] Added some generated files in the Subversion ignore list. Property Changed: ---------------- trunk/stdair/stdair/batches/ Property changes on: trunk/stdair/stdair/batches ___________________________________________________________________ Added: svn:ignore + .deps .libs Makefile.in Makefile stdair This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <qua...@us...> - 2010-04-06 14:19:06
|
Revision: 166 http://stdair.svn.sourceforge.net/stdair/?rev=166&view=rev Author: quannaus Date: 2010-04-06 14:19:00 +0000 (Tue, 06 Apr 2010) Log Message: ----------- [dev] test new implementation. Modified Paths: -------------- trunk/stdair/stdair/batches/stdair.cpp trunk/stdair/stdair/bom/BR.hpp trunk/stdair/stdair/bom/BRKey.hpp trunk/stdair/stdair/bom/IN.hpp trunk/stdair/stdair/bom/INKey.hpp trunk/stdair/stdair/bom/INTypes.hpp trunk/stdair/stdair/bom/InventoryKey.hpp trunk/stdair/stdair/bom/Structure.hpp trunk/stdair/stdair/bom/sources.mk trunk/stdair/stdair/factory/FacBomContent.hpp Added Paths: ----------- trunk/stdair/stdair/bom/BS.hpp trunk/stdair/stdair/bom/BSKey.hpp trunk/stdair/stdair/bom/BSTypes.hpp trunk/stdair/stdair/bom/FD.hpp trunk/stdair/stdair/bom/FDKey.hpp trunk/stdair/stdair/bom/FDTypes.hpp trunk/stdair/stdair/bom/ND.hpp trunk/stdair/stdair/bom/NDKey.hpp trunk/stdair/stdair/bom/NDTypes.hpp Modified: trunk/stdair/stdair/batches/stdair.cpp =================================================================== --- trunk/stdair/stdair/batches/stdair.cpp 2010-04-06 12:47:26 UTC (rev 165) +++ trunk/stdair/stdair/batches/stdair.cpp 2010-04-06 14:19:00 UTC (rev 166) @@ -6,24 +6,32 @@ #include <string> // StdAir #include <stdair/STDAIR_Types.hpp> -#include <stdair/STDAIR_Service.hpp> #include <stdair/bom/BR.hpp> #include <stdair/bom/BRKey.hpp> #include <stdair/bom/BRTypes.hpp> #include <stdair/bom/IN.hpp> #include <stdair/bom/INKey.hpp> #include <stdair/bom/INTypes.hpp> +#include <stdair/bom/FD.hpp> +#include <stdair/bom/FDKey.hpp> +#include <stdair/bom/FDTypes.hpp> +#include <stdair/bom/ND.hpp> +#include <stdair/bom/NDKey.hpp> +#include <stdair/bom/NDTypes.hpp> #include <stdair/factory/FacBomContent.hpp> // ///////// M A I N //////////// int main (int argc, char* argv[]) { try { - - stdair::BRKey_T lBRKey (); + stdair::BRKey_T lBRKey; stdair::BR& lBR = stdair::FacBomContent::instance().testCreate<stdair::BR> (lBRKey); + stdair::INKey_T lINKey ("BA"); + stdair::IN& lIN = + stdair::FacBomContent::instance().testCreate<stdair::IN> (lINKey); + } catch (const std::exception& stde) { std::cerr << "Standard exception: " << stde.what() << std::endl; Modified: trunk/stdair/stdair/bom/BR.hpp =================================================================== --- trunk/stdair/stdair/bom/BR.hpp 2010-04-06 12:47:26 UTC (rev 165) +++ trunk/stdair/stdair/bom/BR.hpp 2010-04-06 14:19:00 UTC (rev 166) @@ -35,7 +35,8 @@ typedef BRKey_T Key_T; /** Define the list of children holder types. */ - typedef boost::fusion::map<boost::fusion::pair<IN, INHolder_T*> > ChildrenHolderTypeMap_T; + typedef boost::fusion::map< + boost::fusion::pair<IN, INHolder_T*> > ChildrenHolderTypeMap_T; // ///////////////////////////////////////////////////////////////////////// public: @@ -62,7 +63,9 @@ public: // /////////// Getters ///////////// - + const Key_T& getKey () const { + return _key; + } public: // //////////// Setters ////////////// @@ -79,9 +82,10 @@ /** Default constructors. */ BR (); BR (const BR&); - BR (const Key_T&, Structure_T&); + BR (const Key_T& iKey, Structure_T& ioStructure) + : _key (iKey), _structure (ioStructure) { } /** Destructor. */ - virtual ~BR(); + virtual ~BR() { } private: // Attributes Modified: trunk/stdair/stdair/bom/BRKey.hpp =================================================================== --- trunk/stdair/stdair/bom/BRKey.hpp 2010-04-06 12:47:26 UTC (rev 165) +++ trunk/stdair/stdair/bom/BRKey.hpp 2010-04-06 14:19:00 UTC (rev 166) @@ -4,6 +4,24 @@ namespace stdair { struct BRKey_T { + // /////////// Display support methods ///////// + void toStream (std::ostream& ioOut) const { + ioOut << "BRKey: " << toString() << std::endl; + } + + void fromStream (std::istream& ioIn) { + } + + const std::string toString() const { + std::ostringstream oStr; + oStr << " -- ROOT -- "; + return oStr.str(); + } + + const std::string describe() const { + return toString(); + } + }; } Copied: trunk/stdair/stdair/bom/BS.hpp (from rev 165, trunk/stdair/stdair/bom/BR.hpp) =================================================================== --- trunk/stdair/stdair/bom/BS.hpp (rev 0) +++ trunk/stdair/stdair/bom/BS.hpp 2010-04-06 14:19:00 UTC (rev 166) @@ -0,0 +1,99 @@ +#ifndef __STDAIR_BOM_BS_HPP +#define __STDAIR_BOM_BS_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STL +#include <iosfwd> +// BOOST Fusion +#include <boost/fusion/container/map.hpp> +#include <boost/fusion/include/map.hpp> +// STDAIR +#include <stdair/bom/Structure.hpp> +#include <stdair/bom/BomContent.hpp> +#include <stdair/bom/BSKey.hpp> +#include <stdair/bom/BSTypes.hpp> + +namespace stdair { + // Forward declarations. + class FacBomContent; + + /** Class representing the actual functional/business content + for the Bom root. */ + class BS : public BomContent { + friend class FacBomContent; + + public: + // ///////////////////////////////////////////////////////////////////////// + /** Definition allowing to retrieve the associated BOM structure type. */ + typedef BSStructure_T Structure_T; + + /** Definition allowing to retrieve the associated BOM key type. */ + typedef BSKey_T Key_T; + + /** Define the list of children holder types. */ + typedef boost::fusion::map< + boost::fusion::pair<BS, BSHolder_T*> > ChildrenHolderTypeMap_T; + // ///////////////////////////////////////////////////////////////////////// + + public: + // /////////// Display support methods ///////// + /** Dump a Business Object into an output stream. + @param ostream& the output stream. */ + void toStream (std::ostream& ioOut) const { ioOut << toString(); } + + /** Read a Business Object from an input stream. + @param istream& the input stream. */ + void fromStream (std::istream& ioIn) { } + + /** Get the serialised version of the Business Object. */ + std::string toString() const { return describeKey(); } + + /** Get a string describing the whole key (differentiating two objects + at any level). */ + const std::string describeKey() const { return std::string (""); } + + /** Get a string describing the short key (differentiating two objects + at the same level). */ + const std::string describeShortKey() const { return std::string (""); } + + + public: + // /////////// Getters ///////////// + const Key_T& getKey () const { + return _key; + } + + public: + // //////////// Setters ////////////// + + private: + /** Retrieve the BOM structure object. */ + Structure_T& getStructure () { + return _structure; + } + + protected: + /** Constructors are private so as to force the usage of the Factory + layer. */ + /** Default constructors. */ + BS (); + BS (const BS&); + BS (const Key_T& iKey, Structure_T& ioStructure) + : _key (iKey), _structure (ioStructure) { } + /** Destructor. */ + virtual ~BS() { } + + private: + // Attributes + /** Key. */ + Key_T _key; + + /** Reference structure. */ + Structure_T& _structure; + + }; + +} +#endif // __STDAIR_BOM_BS_HPP Copied: trunk/stdair/stdair/bom/BSKey.hpp (from rev 165, trunk/stdair/stdair/bom/BRKey.hpp) =================================================================== --- trunk/stdair/stdair/bom/BSKey.hpp (rev 0) +++ trunk/stdair/stdair/bom/BSKey.hpp 2010-04-06 14:19:00 UTC (rev 166) @@ -0,0 +1,28 @@ +#ifndef __STDAIR_BOM_BSKEY_HPP +#define __STDAIR_BOM_BSKEY_HPP + +namespace stdair { + struct BSKey_T { + + // /////////// Display support methods ///////// + void toStream (std::ostream& ioOut) const { + ioOut << "BSKey: " << toString() << std::endl; + } + + void fromStream (std::istream& ioIn) { + } + + const std::string toString() const { + std::ostringstream oStr; + oStr << " -- STOP -- "; + return oStr.str(); + } + + const std::string describe() const { + return toString(); + } + + }; +} + +#endif // __STDAIR_BOM_BSKEY_HPP Copied: trunk/stdair/stdair/bom/BSTypes.hpp (from rev 165, trunk/stdair/stdair/bom/BRTypes.hpp) =================================================================== --- trunk/stdair/stdair/bom/BSTypes.hpp (rev 0) +++ trunk/stdair/stdair/bom/BSTypes.hpp 2010-04-06 14:19:00 UTC (rev 166) @@ -0,0 +1,23 @@ +// ////////////////////////////////////////////////////////////////////// +#ifndef __STDAIR_BOM_BSTYPES_HPP +#define __STDAIR_BOM_BSTYPES_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// + +namespace stdair { + // Forward declarations. + template <typename CONTENT> class Structure; + template <typename CONTENT> class BomChildrenHolderImp; + class BS; + + /** Define the BomRootStructure. */ + typedef Structure<BS> BSStructure_T; + + /** Define the BS holder type. */ + typedef BomChildrenHolderImp<BS> BSHolder_T; + +} +#endif // __STDAIR_BOM_BSTYPES_HPP + Copied: trunk/stdair/stdair/bom/FD.hpp (from rev 165, trunk/stdair/stdair/bom/IN.hpp) =================================================================== --- trunk/stdair/stdair/bom/FD.hpp (rev 0) +++ trunk/stdair/stdair/bom/FD.hpp 2010-04-06 14:19:00 UTC (rev 166) @@ -0,0 +1,98 @@ +#ifndef __STDAIR_BOM_FD_HPP +#define __STDAIR_BOM_FD_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STL +#include <iosfwd> +// STDAIR +#include <stdair/bom/Structure.hpp> +#include <stdair/bom/BomContent.hpp> +#include <stdair/bom/FDKey.hpp> +#include <stdair/bom/FDTypes.hpp> +#include <stdair/bom/BSTypes.hpp> + +namespace stdair { + // Forward declarations. + class FacBomContent; + + /** Class representing the actual functional/business content + for the Bom root. */ + class FD : public BomContent { + friend class FacBomContent; + + public: + // ///////////////////////////////////////////////////////////////////////// + /** Definition allowing to retrieve the associated BOM structure type. */ + typedef FDStructure_T Structure_T; + + /** Definition allowing to retrieve the associated BOM key type. */ + typedef FDKey_T Key_T; + + /** Define the list of children holder types. */ + typedef boost::fusion::map< + boost::fusion::pair<BS, BSHolder_T*> > ChildrenHolderTypeMap_T; + // ///////////////////////////////////////////////////////////////////////// + + + public: + // /////////// Display support methods ///////// + /** Dump a Business Object into an output stream. + @param ostream& the output stream. */ + void toStream (std::ostream& ioOut) const { ioOut << toString(); } + + /** Read a Business Object from an input stream. + @param istream& the input stream. */ + void fromStream (std::istream& ioIn) { } + + /** Get the serialised version of the Business Object. */ + std::string toString() const { return describeKey(); } + + /** Get a string describing the whole key (differentiating two objects + at any level). */ + const std::string describeKey() const { return _key.describe(); } + + /** Get a string describing the short key (differentiating two objects + at the same level). */ + const std::string describeShortKey() const { return _key.describe(); } + + + public: + // /////////// Getters ///////////// + const Key_T& getKey () const { + return _key; + } + + public: + // //////////// Setters ////////////// + + private: + /** Retrieve the BOM structure object. */ + Structure_T& getStructure () { + return _structure; + } + + protected: + /** Constructors are private so as to force the usage of the Factory + layer. */ + /** Default constructors. */ + FD (); + FD (const FD&); + FD (const Key_T& iKey, Structure_T& ioStructure) + : _key (iKey), _structure (ioStructure) { } + /** Destructor. */ + virtual ~FD() { } + + private: + // Attributes + /** Key. */ + Key_T _key; + + /** Reference structure. */ + Structure_T& _structure; + + }; + +} +#endif // __STDAIR_BOM_FD_HPP Copied: trunk/stdair/stdair/bom/FDKey.hpp (from rev 165, trunk/stdair/stdair/bom/INKey.hpp) =================================================================== --- trunk/stdair/stdair/bom/FDKey.hpp (rev 0) +++ trunk/stdair/stdair/bom/FDKey.hpp 2010-04-06 14:19:00 UTC (rev 166) @@ -0,0 +1,50 @@ +#ifndef __STDAIR_BOM_FDKEY_HPP +#define __STDAIR_BOM_FDKEY_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STDAIR +#include <stdair/STDAIR_Types.hpp> +#include <stdair/bom/BomKey.hpp> + + +namespace stdair { + struct FDKey_T : public BomKey_T { + + // /////////// Display support methods ///////// + void toStream (std::ostream& ioOut) const { + ioOut << "FDKey: " << toString() << std::endl; + } + + void fromStream (std::istream& ioIn) { + } + + const std::string toString() const { + std::ostringstream oStr; + oStr << _flightNumber; + return oStr.str(); + } + + const std::string describe() const { + return toString(); + } + + public: + // /////////// Construction /////////// + /** Constructors. */ + FDKey_T (const int& iFlightNumber) : _flightNumber (iFlightNumber) { } + FDKey_T (const FDKey_T& iKey) + : _flightNumber (iKey._flightNumber) { } + /** Destructor. */ + ~FDKey_T () { } + + private: + // Attributes + /** Flight number. */ + int _flightNumber; + + }; +} + +#endif // __STDAIR_BOM_FDKEY_HPP Copied: trunk/stdair/stdair/bom/FDTypes.hpp (from rev 165, trunk/stdair/stdair/bom/INTypes.hpp) =================================================================== --- trunk/stdair/stdair/bom/FDTypes.hpp (rev 0) +++ trunk/stdair/stdair/bom/FDTypes.hpp 2010-04-06 14:19:00 UTC (rev 166) @@ -0,0 +1,31 @@ +// ////////////////////////////////////////////////////////////////////// +#ifndef __STDAIR_BOM_FDTYPES_HPP +#define __STDAIR_BOM_FDTYPES_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// + +namespace stdair { + // Forward declarations. + template <typename CONTENT> class Structure; + template <typename CONTENT> class BomChildrenHolderImp; + template <typename BOM> struct BomList_T; + template <typename BOM> struct BomMap_T; + class FD; + + /** Define the BomRootStructure. */ + typedef Structure<FD> FDStructure_T; + + /** Define the Inventory holder type. */ + typedef BomChildrenHolderImp<FD> FDHolder_T; + + /** Define the Inventory list. */ + typedef BomList_T<FD> FDList_T; + + /** Define the Inventory map. */ + typedef BomMap_T<FD> FDMap_T; + +} +#endif // __STDAIR_BOM_FDTYPES_HPP + Modified: trunk/stdair/stdair/bom/IN.hpp =================================================================== --- trunk/stdair/stdair/bom/IN.hpp 2010-04-06 12:47:26 UTC (rev 165) +++ trunk/stdair/stdair/bom/IN.hpp 2010-04-06 14:19:00 UTC (rev 166) @@ -9,8 +9,10 @@ // STDAIR #include <stdair/bom/Structure.hpp> #include <stdair/bom/BomContent.hpp> +#include <stdair/bom/INKey.hpp> #include <stdair/bom/INTypes.hpp> -#include <stdair/bom/INKey.hpp> +#include <stdair/bom/FDTypes.hpp> +#include <stdair/bom/NDTypes.hpp> namespace stdair { // Forward declarations. @@ -29,8 +31,11 @@ /** Definition allowing to retrieve the associated BOM key type. */ typedef INKey_T Key_T; +/** Define the list of children holder types. */ + typedef boost::fusion::map< + boost::fusion::pair<FD, FDHolder_T*>, + boost::fusion::pair<ND, NDHolder_T*> > ChildrenHolderTypeMap_T; // ///////////////////////////////////////////////////////////////////////// - public: // /////////// Display support methods ///////// @@ -47,16 +52,18 @@ /** Get a string describing the whole key (differentiating two objects at any level). */ - const std::string describeKey() const { return std::string (""); } + const std::string describeKey() const { return _key.describe(); } /** Get a string describing the short key (differentiating two objects at the same level). */ - const std::string describeShortKey() const { return std::string (""); } + const std::string describeShortKey() const { return _key.describe(); } public: // /////////// Getters ///////////// - + const Key_T& getKey () const { + return _key; + } public: // //////////// Setters ////////////// @@ -73,9 +80,10 @@ /** Default constructors. */ IN (); IN (const IN&); - IN (const Key_T&, Structure_T&); + IN (const Key_T& iKey, Structure_T& ioStructure) + : _key (iKey), _structure (ioStructure) { } /** Destructor. */ - virtual ~IN(); + virtual ~IN() { } private: // Attributes Modified: trunk/stdair/stdair/bom/INKey.hpp =================================================================== --- trunk/stdair/stdair/bom/INKey.hpp 2010-04-06 12:47:26 UTC (rev 165) +++ trunk/stdair/stdair/bom/INKey.hpp 2010-04-06 14:19:00 UTC (rev 166) @@ -1,9 +1,49 @@ #ifndef __STDAIR_BOM_INKEY_HPP #define __STDAIR_BOM_INKEY_HPP +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STDAIR +#include <stdair/STDAIR_Types.hpp> +#include <stdair/bom/BomKey.hpp> + + namespace stdair { - struct INKey_T { + struct INKey_T : public BomKey_T { + // /////////// Display support methods ///////// + void toStream (std::ostream& ioOut) const { + ioOut << "INKey: " << toString() << std::endl; + } + + void fromStream (std::istream& ioIn) { + } + + const std::string toString() const { + std::ostringstream oStr; + oStr << _airlineCode; + return oStr.str(); + } + + const std::string describe() const { + return toString(); + } + + public: + // /////////// Construction /////////// + /** Constructors. */ + INKey_T (const AirlineCode_T& iAirlineCode) : _airlineCode (iAirlineCode) { } + INKey_T (const INKey_T& iKey) + : _airlineCode (iKey._airlineCode) { } + /** Destructor. */ + ~INKey_T () { } + + private: + // Attributes + /** Airline code. */ + AirlineCode_T _airlineCode; + }; } Modified: trunk/stdair/stdair/bom/INTypes.hpp =================================================================== --- trunk/stdair/stdair/bom/INTypes.hpp 2010-04-06 12:47:26 UTC (rev 165) +++ trunk/stdair/stdair/bom/INTypes.hpp 2010-04-06 14:19:00 UTC (rev 166) @@ -10,6 +10,8 @@ // Forward declarations. template <typename CONTENT> class Structure; template <typename CONTENT> class BomChildrenHolderImp; + template <typename BOM> struct BomList_T; + template <typename BOM> struct BomMap_T; class IN; /** Define the BomRootStructure. */ @@ -18,6 +20,12 @@ /** Define the Inventory holder type. */ typedef BomChildrenHolderImp<IN> INHolder_T; + /** Define the Inventory list. */ + typedef BomList_T<IN> INList_T; + + /** Define the Inventory map. */ + typedef BomMap_T<IN> INMap_T; + } #endif // __STDAIR_BOM_INTYPES_HPP Modified: trunk/stdair/stdair/bom/InventoryKey.hpp =================================================================== --- trunk/stdair/stdair/bom/InventoryKey.hpp 2010-04-06 12:47:26 UTC (rev 165) +++ trunk/stdair/stdair/bom/InventoryKey.hpp 2010-04-06 14:19:00 UTC (rev 166) @@ -10,7 +10,6 @@ #include <stdair/bom/BomRootKey.hpp> namespace stdair { - /** Key of inventory. */ struct InventoryKey_T : public BomKey_T { friend struct FlightDateKey_T; @@ -28,7 +27,6 @@ /** Constructors. */ InventoryKey_T (const AirlineCode_T& iAirlineCode); InventoryKey_T (const InventoryKey_T&); - /** Destructor. */ ~InventoryKey_T (); Copied: trunk/stdair/stdair/bom/ND.hpp (from rev 165, trunk/stdair/stdair/bom/IN.hpp) =================================================================== --- trunk/stdair/stdair/bom/ND.hpp (rev 0) +++ trunk/stdair/stdair/bom/ND.hpp 2010-04-06 14:19:00 UTC (rev 166) @@ -0,0 +1,96 @@ +#ifndef __STDAIR_BOM_ND_HPP +#define __STDAIR_BOM_ND_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STL +#include <iosfwd> +// STDAIR +#include <stdair/bom/Structure.hpp> +#include <stdair/bom/BomContent.hpp> +#include <stdair/bom/NDKey.hpp> +#include <stdair/bom/NDTypes.hpp> + +namespace stdair { + // Forward declarations. + class FacBomContent; + + /** Class representing the actual functional/business content + for the Bom root. */ + class ND : public BomContent { + friend class FacBomContent; + + public: + // ///////////////////////////////////////////////////////////////////////// + /** Definition allowing to retrieve the associated BOM structure type. */ + typedef NDStructure_T Structure_T; + + /** Definition allowing to retrieve the associated BOM key type. */ + typedef NDKey_T Key_T; + +/** Define the list of children holder types. */ + typedef boost::fusion::map< > ChildrenHolderTypeMap_T; + // ///////////////////////////////////////////////////////////////////////// + + + public: + // /////////// Display support methods ///////// + /** Dump a Business Object into an output stream. + @param ostream& the output stream. */ + void toStream (std::ostream& ioOut) const { ioOut << toString(); } + + /** Read a Business Object from an input stream. + @param istream& the input stream. */ + void fromStream (std::istream& ioIn) { } + + /** Get the serialised version of the Business Object. */ + std::string toString() const { return describeKey(); } + + /** Get a string describing the whole key (differentiating two objects + at any level). */ + const std::string describeKey() const { return _key.describe(); } + + /** Get a string describing the short key (differentiating two objects + at the same level). */ + const std::string describeShortKey() const { return _key.describe(); } + + + public: + // /////////// Getters ///////////// + const Key_T& getKey () const { + return _key; + } + + public: + // //////////// Setters ////////////// + + private: + /** Retrieve the BOM structure object. */ + Structure_T& getStructure () { + return _structure; + } + + protected: + /** Constructors are private so as to force the usage of the Factory + layer. */ + /** Default constructors. */ + ND (); + ND (const ND&); + ND (const Key_T& iKey, Structure_T& ioStructure) + : _key (iKey), _structure (ioStructure) { } + /** Destructor. */ + virtual ~ND() { } + + private: + // Attributes + /** Key. */ + Key_T _key; + + /** Reference structure. */ + Structure_T& _structure; + + }; + +} +#endif // __STDAIR_BOM_ND_HPP Copied: trunk/stdair/stdair/bom/NDKey.hpp (from rev 165, trunk/stdair/stdair/bom/INKey.hpp) =================================================================== --- trunk/stdair/stdair/bom/NDKey.hpp (rev 0) +++ trunk/stdair/stdair/bom/NDKey.hpp 2010-04-06 14:19:00 UTC (rev 166) @@ -0,0 +1,50 @@ +#ifndef __STDAIR_BOM_NDKEY_HPP +#define __STDAIR_BOM_NDKEY_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STDAIR +#include <stdair/STDAIR_Types.hpp> +#include <stdair/bom/BomKey.hpp> + + +namespace stdair { + struct NDKey_T : public BomKey_T { + + // /////////// Display support methods ///////// + void toStream (std::ostream& ioOut) const { + ioOut << "NDKey: " << toString() << std::endl; + } + + void fromStream (std::istream& ioIn) { + } + + const std::string toString() const { + std::ostringstream oStr; + oStr << _networkNumber; + return oStr.str(); + } + + const std::string describe() const { + return toString(); + } + + public: + // /////////// Construction /////////// + /** Constructors. */ + NDKey_T (const int& iNetworkNumber) : _networkNumber (iNetworkNumber) { } + NDKey_T (const NDKey_T& iKey) + : _networkNumber (iKey._networkNumber) { } + /** Destructor. */ + ~NDKey_T () { } + + private: + // Attributes + /** Network number. */ + int _networkNumber; + + }; +} + +#endif // __STDAIR_BOM_NDKEY_HPP Copied: trunk/stdair/stdair/bom/NDTypes.hpp (from rev 165, trunk/stdair/stdair/bom/INTypes.hpp) =================================================================== --- trunk/stdair/stdair/bom/NDTypes.hpp (rev 0) +++ trunk/stdair/stdair/bom/NDTypes.hpp 2010-04-06 14:19:00 UTC (rev 166) @@ -0,0 +1,31 @@ +// ////////////////////////////////////////////////////////////////////// +#ifndef __STDAIR_BOM_NDTYPES_HPP +#define __STDAIR_BOM_NDTYPES_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// + +namespace stdair { + // Forward declarations. + template <typename CONTENT> class Structure; + template <typename CONTENT> class BomChildrenHolderImp; + template <typename BOM> struct BomList_T; + template <typename BOM> struct BomMap_T; + class ND; + + /** Define the BomRootStructure. */ + typedef Structure<ND> NDStructure_T; + + /** Define the Inventory holder type. */ + typedef BomChildrenHolderImp<ND> NDHolder_T; + + /** Define the Inventory list. */ + typedef BomList_T<ND> NDList_T; + + /** Define the Inventory map. */ + typedef BomMap_T<ND> NDMap_T; + +} +#endif // __STDAIR_BOM_NDTYPES_HPP + Modified: trunk/stdair/stdair/bom/Structure.hpp =================================================================== --- trunk/stdair/stdair/bom/Structure.hpp 2010-04-06 12:47:26 UTC (rev 165) +++ trunk/stdair/stdair/bom/Structure.hpp 2010-04-06 14:19:00 UTC (rev 166) @@ -28,7 +28,7 @@ public: // ////////// GETTERS //////////// - const Key_T& getKey () { + const Key_T& getKey () const { assert (_content != NULL); return _content->getKey(); } Modified: trunk/stdair/stdair/bom/sources.mk =================================================================== --- trunk/stdair/stdair/bom/sources.mk 2010-04-06 12:47:26 UTC (rev 165) +++ trunk/stdair/stdair/bom/sources.mk 2010-04-06 14:19:00 UTC (rev 166) @@ -1,157 +1,163 @@ bom_h_sources = \ - $(top_srcdir)/stdair/bom/BomList.hpp \ - $(top_srcdir)/stdair/bom/BomMap.hpp \ - $(top_srcdir)/stdair/bom/BomKey.hpp \ - $(top_srcdir)/stdair/bom/BomRootKey.hpp \ - $(top_srcdir)/stdair/bom/InventoryKey.hpp \ - $(top_srcdir)/stdair/bom/FlightDateKey.hpp \ - $(top_srcdir)/stdair/bom/LegDateKey.hpp \ - $(top_srcdir)/stdair/bom/LegCabinKey.hpp \ - $(top_srcdir)/stdair/bom/SegmentDateKey.hpp \ - $(top_srcdir)/stdair/bom/SegmentCabinKey.hpp \ - $(top_srcdir)/stdair/bom/BookingClassKey.hpp \ - $(top_srcdir)/stdair/bom/NetworkKey.hpp \ - $(top_srcdir)/stdair/bom/NetworkDateKey.hpp \ - $(top_srcdir)/stdair/bom/AirportDateKey.hpp \ - $(top_srcdir)/stdair/bom/OutboundPathKey.hpp \ - $(top_srcdir)/stdair/bom/AirlineFeatureSetKey.hpp \ - $(top_srcdir)/stdair/bom/AirlineFeatureKey.hpp \ - $(top_srcdir)/stdair/bom/DemandStreamKey.hpp \ - $(top_srcdir)/stdair/bom/BomRootTypes.hpp \ - $(top_srcdir)/stdair/bom/BomRoot.hpp \ - $(top_srcdir)/stdair/bom/BomContent.hpp \ - $(top_srcdir)/stdair/bom/BomRootContent.hpp \ - $(top_srcdir)/stdair/bom/BomStopContent.hpp \ - $(top_srcdir)/stdair/bom/BomStructure.hpp \ - $(top_srcdir)/stdair/bom/BomRootStructure.hpp \ - $(top_srcdir)/stdair/bom/BomStopStructure.hpp \ - $(top_srcdir)/stdair/bom/Inventory.hpp \ - $(top_srcdir)/stdair/bom/InventoryContent.hpp \ - $(top_srcdir)/stdair/bom/InventoryTypes.hpp \ - $(top_srcdir)/stdair/bom/InventoryStructure.hpp \ - $(top_srcdir)/stdair/bom/FlightDate.hpp \ - $(top_srcdir)/stdair/bom/FlightDateContent.hpp \ - $(top_srcdir)/stdair/bom/FlightDateTypes.hpp \ - $(top_srcdir)/stdair/bom/FlightDateStructure.hpp \ - $(top_srcdir)/stdair/bom/SegmentDate.hpp \ - $(top_srcdir)/stdair/bom/SegmentDateContent.hpp \ - $(top_srcdir)/stdair/bom/SegmentDateTypes.hpp \ - $(top_srcdir)/stdair/bom/SegmentDateStructure.hpp \ - $(top_srcdir)/stdair/bom/LegDate.hpp \ - $(top_srcdir)/stdair/bom/LegDateContent.hpp \ - $(top_srcdir)/stdair/bom/LegDateTypes.hpp \ - $(top_srcdir)/stdair/bom/LegDateStructure.hpp \ - $(top_srcdir)/stdair/bom/SegmentCabin.hpp \ - $(top_srcdir)/stdair/bom/SegmentCabinContent.hpp \ - $(top_srcdir)/stdair/bom/SegmentCabinTypes.hpp \ - $(top_srcdir)/stdair/bom/SegmentCabinStructure.hpp \ - $(top_srcdir)/stdair/bom/LegCabin.hpp \ - $(top_srcdir)/stdair/bom/LegCabinContent.hpp \ - $(top_srcdir)/stdair/bom/LegCabinTypes.hpp \ - $(top_srcdir)/stdair/bom/LegCabinStructure.hpp \ - $(top_srcdir)/stdair/bom/BookingClass.hpp \ - $(top_srcdir)/stdair/bom/BookingClassContent.hpp \ - $(top_srcdir)/stdair/bom/BookingClassTypes.hpp \ - $(top_srcdir)/stdair/bom/BookingClassStructure.hpp \ - $(top_srcdir)/stdair/bom/Network.hpp \ - $(top_srcdir)/stdair/bom/NetworkContent.hpp \ - $(top_srcdir)/stdair/bom/NetworkTypes.hpp \ - $(top_srcdir)/stdair/bom/NetworkStructure.hpp \ - $(top_srcdir)/stdair/bom/NetworkDate.hpp \ - $(top_srcdir)/stdair/bom/NetworkDateContent.hpp \ - $(top_srcdir)/stdair/bom/NetworkDateTypes.hpp \ - $(top_srcdir)/stdair/bom/NetworkDateStructure.hpp \ - $(top_srcdir)/stdair/bom/AirportDate.hpp \ - $(top_srcdir)/stdair/bom/AirportDateContent.hpp \ - $(top_srcdir)/stdair/bom/AirportDateTypes.hpp \ - $(top_srcdir)/stdair/bom/AirportDateStructure.hpp \ - $(top_srcdir)/stdair/bom/OutboundPath.hpp \ - $(top_srcdir)/stdair/bom/OutboundPathContent.hpp \ - $(top_srcdir)/stdair/bom/OutboundPathTypes.hpp \ - $(top_srcdir)/stdair/bom/OutboundPathStructure.hpp \ - $(top_srcdir)/stdair/bom/AirlineFeatureSet.hpp \ - $(top_srcdir)/stdair/bom/AirlineFeatureSetContent.hpp \ - $(top_srcdir)/stdair/bom/AirlineFeatureSetTypes.hpp \ - $(top_srcdir)/stdair/bom/AirlineFeatureSetStructure.hpp \ - $(top_srcdir)/stdair/bom/AirlineFeature.hpp \ - $(top_srcdir)/stdair/bom/AirlineFeatureContent.hpp \ - $(top_srcdir)/stdair/bom/AirlineFeatureTypes.hpp \ - $(top_srcdir)/stdair/bom/AirlineFeatureStructure.hpp \ - $(top_srcdir)/stdair/bom/BomChildrenHolder.hpp \ - $(top_srcdir)/stdair/bom/BomChildrenHolderImp.hpp \ - $(top_srcdir)/stdair/bom/BomIterator.hpp \ - $(top_srcdir)/stdair/bom/OptimizerStruct.hpp \ - $(top_srcdir)/stdair/bom/DoWStruct.hpp \ - $(top_srcdir)/stdair/bom/TravelSolutionStruct.hpp \ - $(top_srcdir)/stdair/bom/TravelSolutionTypes.hpp \ - $(top_srcdir)/stdair/bom/BookingRequestStruct.hpp \ - $(top_srcdir)/stdair/bom/AirlineStruct.hpp \ - $(top_srcdir)/stdair/bom/DemandStreamStructure.hpp \ - $(top_srcdir)/stdair/bom/DemandStreamContent.hpp \ - $(top_srcdir)/stdair/bom/DemandStream.hpp \ - $(top_srcdir)/stdair/bom/DemandStreamTypes.hpp \ - $(top_srcdir)/stdair/bom/EventStruct.hpp \ - $(top_srcdir)/stdair/bom/EventQueue.hpp \ - $(top_srcdir)/stdair/bom/EventTypes.hpp \ - $(top_srcdir)/stdair/bom/BomManager.hpp \ - $(top_srcdir)/stdair/bom/Structure.hpp \ - $(top_srcdir)/stdair/bom/BR.hpp \ - $(top_srcdir)/stdair/bom/BRKey.hpp \ - $(top_srcdir)/stdair/bom/BRTypes.hpp \ - $(top_srcdir)/stdair/bom/IN.hpp \ - $(top_srcdir)/stdair/bom/INKey.hpp \ - $(top_srcdir)/stdair/bom/INTypes.hpp + $(top_srcdir)/stdair/bom/BomList.hpp \ + $(top_srcdir)/stdair/bom/BomMap.hpp \ + $(top_srcdir)/stdair/bom/BomKey.hpp \ + $(top_srcdir)/stdair/bom/BomRootKey.hpp \ + $(top_srcdir)/stdair/bom/InventoryKey.hpp \ + $(top_srcdir)/stdair/bom/FlightDateKey.hpp \ + $(top_srcdir)/stdair/bom/LegDateKey.hpp \ + $(top_srcdir)/stdair/bom/LegCabinKey.hpp \ + $(top_srcdir)/stdair/bom/SegmentDateKey.hpp \ + $(top_srcdir)/stdair/bom/SegmentCabinKey.hpp \ + $(top_srcdir)/stdair/bom/BookingClassKey.hpp \ + $(top_srcdir)/stdair/bom/NetworkKey.hpp \ + $(top_srcdir)/stdair/bom/NetworkDateKey.hpp \ + $(top_srcdir)/stdair/bom/AirportDateKey.hpp \ + $(top_srcdir)/stdair/bom/OutboundPathKey.hpp \ + $(top_srcdir)/stdair/bom/AirlineFeatureSetKey.hpp \ + $(top_srcdir)/stdair/bom/AirlineFeatureKey.hpp \ + $(top_srcdir)/stdair/bom/DemandStreamKey.hpp \ + $(top_srcdir)/stdair/bom/BomRootTypes.hpp \ + $(top_srcdir)/stdair/bom/BomRoot.hpp \ + $(top_srcdir)/stdair/bom/BomContent.hpp \ + $(top_srcdir)/stdair/bom/BomRootContent.hpp \ + $(top_srcdir)/stdair/bom/BomStopContent.hpp \ + $(top_srcdir)/stdair/bom/BomStructure.hpp \ + $(top_srcdir)/stdair/bom/BomRootStructure.hpp \ + $(top_srcdir)/stdair/bom/BomStopStructure.hpp \ + $(top_srcdir)/stdair/bom/Inventory.hpp \ + $(top_srcdir)/stdair/bom/InventoryContent.hpp \ + $(top_srcdir)/stdair/bom/InventoryTypes.hpp \ + $(top_srcdir)/stdair/bom/InventoryStructure.hpp \ + $(top_srcdir)/stdair/bom/FlightDate.hpp \ + $(top_srcdir)/stdair/bom/FlightDateContent.hpp \ + $(top_srcdir)/stdair/bom/FlightDateTypes.hpp \ + $(top_srcdir)/stdair/bom/FlightDateStructure.hpp \ + $(top_srcdir)/stdair/bom/SegmentDate.hpp \ + $(top_srcdir)/stdair/bom/SegmentDateContent.hpp \ + $(top_srcdir)/stdair/bom/SegmentDateTypes.hpp \ + $(top_srcdir)/stdair/bom/SegmentDateStructure.hpp \ + $(top_srcdir)/stdair/bom/LegDate.hpp \ + $(top_srcdir)/stdair/bom/LegDateContent.hpp \ + $(top_srcdir)/stdair/bom/LegDateTypes.hpp \ + $(top_srcdir)/stdair/bom/LegDateStructure.hpp \ + $(top_srcdir)/stdair/bom/SegmentCabin.hpp \ + $(top_srcdir)/stdair/bom/SegmentCabinContent.hpp \ + $(top_srcdir)/stdair/bom/SegmentCabinTypes.hpp \ + $(top_srcdir)/stdair/bom/SegmentCabinStructure.hpp \ + $(top_srcdir)/stdair/bom/LegCabin.hpp \ + $(top_srcdir)/stdair/bom/LegCabinContent.hpp \ + $(top_srcdir)/stdair/bom/LegCabinTypes.hpp \ + $(top_srcdir)/stdair/bom/LegCabinStructure.hpp \ + $(top_srcdir)/stdair/bom/BookingClass.hpp \ + $(top_srcdir)/stdair/bom/BookingClassContent.hpp \ + $(top_srcdir)/stdair/bom/BookingClassTypes.hpp \ + $(top_srcdir)/stdair/bom/BookingClassStructure.hpp \ + $(top_srcdir)/stdair/bom/Network.hpp \ + $(top_srcdir)/stdair/bom/NetworkContent.hpp \ + $(top_srcdir)/stdair/bom/NetworkTypes.hpp \ + $(top_srcdir)/stdair/bom/NetworkStructure.hpp \ + $(top_srcdir)/stdair/bom/NetworkDate.hpp \ + $(top_srcdir)/stdair/bom/NetworkDateContent.hpp \ + $(top_srcdir)/stdair/bom/NetworkDateTypes.hpp \ + $(top_srcdir)/stdair/bom/NetworkDateStructure.hpp \ + $(top_srcdir)/stdair/bom/AirportDate.hpp \ + $(top_srcdir)/stdair/bom/AirportDateContent.hpp \ + $(top_srcdir)/stdair/bom/AirportDateTypes.hpp \ + $(top_srcdir)/stdair/bom/AirportDateStructure.hpp \ + $(top_srcdir)/stdair/bom/OutboundPath.hpp \ + $(top_srcdir)/stdair/bom/OutboundPathContent.hpp \ + $(top_srcdir)/stdair/bom/OutboundPathTypes.hpp \ + $(top_srcdir)/stdair/bom/OutboundPathStructure.hpp \ + $(top_srcdir)/stdair/bom/AirlineFeatureSet.hpp \ + $(top_srcdir)/stdair/bom/AirlineFeatureSetContent.hpp \ + $(top_srcdir)/stdair/bom/AirlineFeatureSetTypes.hpp \ + $(top_srcdir)/stdair/bom/AirlineFeatureSetStructure.hpp \ + $(top_srcdir)/stdair/bom/AirlineFeature.hpp \ + $(top_srcdir)/stdair/bom/AirlineFeatureContent.hpp \ + $(top_srcdir)/stdair/bom/AirlineFeatureTypes.hpp \ + $(top_srcdir)/stdair/bom/AirlineFeatureStructure.hpp \ + $(top_srcdir)/stdair/bom/BomChildrenHolder.hpp \ + $(top_srcdir)/stdair/bom/BomChildrenHolderImp.hpp \ + $(top_srcdir)/stdair/bom/BomIterator.hpp \ + $(top_srcdir)/stdair/bom/OptimizerStruct.hpp \ + $(top_srcdir)/stdair/bom/DoWStruct.hpp \ + $(top_srcdir)/stdair/bom/TravelSolutionStruct.hpp \ + $(top_srcdir)/stdair/bom/TravelSolutionTypes.hpp \ + $(top_srcdir)/stdair/bom/BookingRequestStruct.hpp \ + $(top_srcdir)/stdair/bom/AirlineStruct.hpp \ + $(top_srcdir)/stdair/bom/DemandStreamStructure.hpp \ + $(top_srcdir)/stdair/bom/DemandStreamContent.hpp \ + $(top_srcdir)/stdair/bom/DemandStream.hpp \ + $(top_srcdir)/stdair/bom/DemandStreamTypes.hpp \ + $(top_srcdir)/stdair/bom/EventStruct.hpp \ + $(top_srcdir)/stdair/bom/EventQueue.hpp \ + $(top_srcdir)/stdair/bom/EventTypes.hpp \ + $(top_srcdir)/stdair/bom/BomManager.hpp \ + $(top_srcdir)/stdair/bom/Structure.hpp \ + $(top_srcdir)/stdair/bom/BS.hpp \ + $(top_srcdir)/stdair/bom/BSKey.hpp \ + $(top_srcdir)/stdair/bom/BSTypes.hpp \ + $(top_srcdir)/stdair/bom/BRKey.hpp \ + $(top_srcdir)/stdair/bom/BRTypes.hpp \ + $(top_srcdir)/stdair/bom/IN.hpp \ + $(top_srcdir)/stdair/bom/INKey.hpp \ + $(top_srcdir)/stdair/bom/FDTypes.hpp \ + $(top_srcdir)/stdair/bom/FDKey.hpp \ + $(top_srcdir)/stdair/bom/NDTypes.hpp \ + $(top_srcdir)/stdair/bom/NDKey.hpp \ + $(top_srcdir)/stdair/bom/NDTypes.hpp bom_cc_sources = \ - $(top_srcdir)/stdair/bom/BomRootKey.cpp \ - $(top_srcdir)/stdair/bom/InventoryKey.cpp \ - $(top_srcdir)/stdair/bom/FlightDateKey.cpp \ - $(top_srcdir)/stdair/bom/LegDateKey.cpp \ - $(top_srcdir)/stdair/bom/LegCabinKey.cpp \ - $(top_srcdir)/stdair/bom/SegmentDateKey.cpp \ - $(top_srcdir)/stdair/bom/SegmentCabinKey.cpp \ - $(top_srcdir)/stdair/bom/BookingClassKey.cpp \ - $(top_srcdir)/stdair/bom/NetworkKey.cpp \ - $(top_srcdir)/stdair/bom/NetworkDateKey.cpp \ - $(top_srcdir)/stdair/bom/AirportDateKey.cpp \ - $(top_srcdir)/stdair/bom/OutboundPathKey.cpp \ - $(top_srcdir)/stdair/bom/AirlineFeatureSetKey.cpp \ - $(top_srcdir)/stdair/bom/AirlineFeatureKey.cpp \ - $(top_srcdir)/stdair/bom/DemandStreamKey.cpp \ - $(top_srcdir)/stdair/bom/BomRoot.cpp \ - $(top_srcdir)/stdair/bom/BomRootContent.cpp \ - $(top_srcdir)/stdair/bom/Inventory.cpp \ - $(top_srcdir)/stdair/bom/InventoryContent.cpp \ - $(top_srcdir)/stdair/bom/FlightDate.cpp \ - $(top_srcdir)/stdair/bom/FlightDateContent.cpp \ - $(top_srcdir)/stdair/bom/SegmentDate.cpp \ - $(top_srcdir)/stdair/bom/SegmentDateContent.cpp \ - $(top_srcdir)/stdair/bom/LegDate.cpp \ - $(top_srcdir)/stdair/bom/LegDateContent.cpp \ - $(top_srcdir)/stdair/bom/SegmentCabin.cpp \ - $(top_srcdir)/stdair/bom/SegmentCabinContent.cpp \ - $(top_srcdir)/stdair/bom/LegCabin.cpp \ - $(top_srcdir)/stdair/bom/LegCabinContent.cpp \ - $(top_srcdir)/stdair/bom/BookingClass.cpp \ - $(top_srcdir)/stdair/bom/BookingClassContent.cpp \ - $(top_srcdir)/stdair/bom/Network.cpp \ - $(top_srcdir)/stdair/bom/NetworkContent.cpp \ - $(top_srcdir)/stdair/bom/NetworkDate.cpp \ - $(top_srcdir)/stdair/bom/NetworkDateContent.cpp \ - $(top_srcdir)/stdair/bom/AirportDate.cpp \ - $(top_srcdir)/stdair/bom/AirportDateContent.cpp \ - $(top_srcdir)/stdair/bom/OutboundPath.cpp \ - $(top_srcdir)/stdair/bom/OutboundPathContent.cpp \ - $(top_srcdir)/stdair/bom/AirlineFeatureSet.cpp \ - $(top_srcdir)/stdair/bom/AirlineFeatureSetContent.cpp \ - $(top_srcdir)/stdair/bom/AirlineFeature.cpp \ - $(top_srcdir)/stdair/bom/AirlineFeatureContent.cpp \ - $(top_srcdir)/stdair/bom/OptimizerStruct.cpp \ - $(top_srcdir)/stdair/bom/DoWStruct.cpp \ - $(top_srcdir)/stdair/bom/TravelSolutionStruct.cpp \ - $(top_srcdir)/stdair/bom/BookingRequestStruct.cpp \ - $(top_srcdir)/stdair/bom/AirlineStruct.cpp \ - $(top_srcdir)/stdair/bom/DemandStreamContent.cpp \ - $(top_srcdir)/stdair/bom/DemandStream.cpp \ - $(top_srcdir)/stdair/bom/EventStruct.cpp \ - $(top_srcdir)/stdair/bom/EventQueue.cpp \ - $(top_srcdir)/stdair/bom/BomManager.cpp + $(top_srcdir)/stdair/bom/BomRootKey.cpp \ + $(top_srcdir)/stdair/bom/InventoryKey.cpp \ + $(top_srcdir)/stdair/bom/FlightDateKey.cpp \ + $(top_srcdir)/stdair/bom/LegDateKey.cpp \ + $(top_srcdir)/stdair/bom/LegCabinKey.cpp \ + $(top_srcdir)/stdair/bom/SegmentDateKey.cpp \ + $(top_srcdir)/stdair/bom/SegmentCabinKey.cpp \ + $(top_srcdir)/stdair/bom/BookingClassKey.cpp \ + $(top_srcdir)/stdair/bom/NetworkKey.cpp \ + $(top_srcdir)/stdair/bom/NetworkDateKey.cpp \ + $(top_srcdir)/stdair/bom/AirportDateKey.cpp \ + $(top_srcdir)/stdair/bom/OutboundPathKey.cpp \ + $(top_srcdir)/stdair/bom/AirlineFeatureSetKey.cpp \ + $(top_srcdir)/stdair/bom/AirlineFeatureKey.cpp \ + $(top_srcdir)/stdair/bom/DemandStreamKey.cpp \ + $(top_srcdir)/stdair/bom/BomRoot.cpp \ + $(top_srcdir)/stdair/bom/BomRootContent.cpp \ + $(top_srcdir)/stdair/bom/Inventory.cpp \ + $(top_srcdir)/stdair/bom/InventoryContent.cpp \ + $(top_srcdir)/stdair/bom/FlightDate.cpp \ + $(top_srcdir)/stdair/bom/FlightDateContent.cpp \ + $(top_srcdir)/stdair/bom/SegmentDate.cpp \ + $(top_srcdir)/stdair/bom/SegmentDateContent.cpp \ + $(top_srcdir)/stdair/bom/LegDate.cpp \ + $(top_srcdir)/stdair/bom/LegDateContent.cpp \ + $(top_srcdir)/stdair/bom/SegmentCabin.cpp \ + $(top_srcdir)/stdair/bom/SegmentCabinContent.cpp \ + $(top_srcdir)/stdair/bom/LegCabin.cpp \ + $(top_srcdir)/stdair/bom/LegCabinContent.cpp \ + $(top_srcdir)/stdair/bom/BookingClass.cpp \ + $(top_srcdir)/stdair/bom/BookingClassContent.cpp \ + $(top_srcdir)/stdair/bom/Network.cpp \ + $(top_srcdir)/stdair/bom/NetworkContent.cpp \ + $(top_srcdir)/stdair/bom/NetworkDate.cpp \ + $(top_srcdir)/stdair/bom/NetworkDateContent.cpp \ + $(top_srcdir)/stdair/bom/AirportDate.cpp \ + $(top_srcdir)/stdair/bom/AirportDateContent.cpp \ + $(top_srcdir)/stdair/bom/OutboundPath.cpp \ + $(top_srcdir)/stdair/bom/OutboundPathContent.cpp \ + $(top_srcdir)/stdair/bom/AirlineFeatureSet.cpp \ + $(top_srcdir)/stdair/bom/AirlineFeatureSetContent.cpp \ + $(top_srcdir)/stdair/bom/AirlineFeature.cpp \ + $(top_srcdir)/stdair/bom/AirlineFeatureContent.cpp \ + $(top_srcdir)/stdair/bom/OptimizerStruct.cpp \ + $(top_srcdir)/stdair/bom/DoWStruct.cpp \ + $(top_srcdir)/stdair/bom/TravelSolutionStruct.cpp \ + $(top_srcdir)/stdair/bom/BookingRequestStruct.cpp \ + $(top_srcdir)/stdair/bom/AirlineStruct.cpp \ + $(top_srcdir)/stdair/bom/DemandStreamContent.cpp \ + $(top_srcdir)/stdair/bom/DemandStream.cpp \ + $(top_srcdir)/stdair/bom/EventStruct.cpp \ + $(top_srcdir)/stdair/bom/EventQueue.cpp \ + $(top_srcdir)/stdair/bom/BomManager.cpp Modified: trunk/stdair/stdair/factory/FacBomContent.hpp =================================================================== --- trunk/stdair/stdair/factory/FacBomContent.hpp 2010-04-06 12:47:26 UTC (rev 165) +++ trunk/stdair/stdair/factory/FacBomContent.hpp 2010-04-06 14:19:00 UTC (rev 166) @@ -40,6 +40,7 @@ // ////////////////////////////////////////////////////////////////// + public: template <typename CONTENT> CONTENT& testCreate (const typename CONTENT::Key_T& iKey) { @@ -72,6 +73,7 @@ ioStructure._content = &ioContent; } + // ////////////////////////////////////////////////////////////////// @@ -79,7 +81,8 @@ - // ////////////////////////////////////////////////////////////////// + + public: /** Create the root of the BOM tree, i.e., a pair of linked This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <qua...@us...> - 2010-04-06 12:47:33
|
Revision: 165 http://stdair.svn.sourceforge.net/stdair/?rev=165&view=rev Author: quannaus Date: 2010-04-06 12:47:26 +0000 (Tue, 06 Apr 2010) Log Message: ----------- [dev] test new implementation. Modified Paths: -------------- trunk/stdair/stdair/Makefile.am trunk/stdair/stdair/bom/sources.mk trunk/stdair/stdair/factory/FacBomContent.hpp trunk/stdair/stdair/factory/FacBomStructure.hpp Added Paths: ----------- trunk/stdair/stdair/batches/Makefile.am trunk/stdair/stdair/batches/sources.mk trunk/stdair/stdair/batches/stdair.cpp trunk/stdair/stdair/bom/BR.hpp trunk/stdair/stdair/bom/BRKey.hpp trunk/stdair/stdair/bom/BRTypes.hpp trunk/stdair/stdair/bom/IN.hpp trunk/stdair/stdair/bom/INKey.hpp trunk/stdair/stdair/bom/INTypes.hpp trunk/stdair/stdair/bom/Structure.hpp Modified: trunk/stdair/stdair/Makefile.am =================================================================== --- trunk/stdair/stdair/Makefile.am 2010-03-27 18:17:00 UTC (rev 164) +++ trunk/stdair/stdair/Makefile.am 2010-04-06 12:47:26 UTC (rev 165) @@ -6,7 +6,7 @@ MAINTAINERCLEANFILES = Makefile.in -SUBDIRS = basic bom dbadaptor factory command config service core +SUBDIRS = basic bom dbadaptor factory command config service core batches #EXTRA_DIST = config_msvc.h EXTRA_DIST = Added: trunk/stdair/stdair/batches/Makefile.am =================================================================== --- trunk/stdair/stdair/batches/Makefile.am (rev 0) +++ trunk/stdair/stdair/batches/Makefile.am 2010-04-06 12:47:26 UTC (rev 165) @@ -0,0 +1,18 @@ +# batches +include $(top_srcdir)/Makefile.common +include $(srcdir)/sources.mk + +## Source directory + +MAINTAINERCLEANFILES = Makefile.in + + +# Binaries (batches) +bin_PROGRAMS = stdair + +stdair_SOURCES = $(batches_h_sources) $(batches_cc_sources) +stdair_CXXFLAGS = $(BOOST_CFLAGS) +stdair_LDADD = +stdair_LDFLAGS = $(BOOST_PROGRAM_OPTIONS_LIB) \ + $(top_builddir)/stdair/core/libstdair.la \ + $(top_builddir)/stdair/core/libstdair.la Added: trunk/stdair/stdair/batches/sources.mk =================================================================== --- trunk/stdair/stdair/batches/sources.mk (rev 0) +++ trunk/stdair/stdair/batches/sources.mk 2010-04-06 12:47:26 UTC (rev 165) @@ -0,0 +1,2 @@ +batches_h_sources = +batches_cc_sources = $(top_srcdir)/stdair/batches/stdair.cpp Added: trunk/stdair/stdair/batches/stdair.cpp =================================================================== --- trunk/stdair/stdair/batches/stdair.cpp (rev 0) +++ trunk/stdair/stdair/batches/stdair.cpp 2010-04-06 12:47:26 UTC (rev 165) @@ -0,0 +1,37 @@ +// STL +#include <cassert> +#include <iostream> +#include <sstream> +#include <fstream> +#include <string> +// StdAir +#include <stdair/STDAIR_Types.hpp> +#include <stdair/STDAIR_Service.hpp> +#include <stdair/bom/BR.hpp> +#include <stdair/bom/BRKey.hpp> +#include <stdair/bom/BRTypes.hpp> +#include <stdair/bom/IN.hpp> +#include <stdair/bom/INKey.hpp> +#include <stdair/bom/INTypes.hpp> +#include <stdair/factory/FacBomContent.hpp> + + +// ///////// M A I N //////////// +int main (int argc, char* argv[]) { + try { + + stdair::BRKey_T lBRKey (); + stdair::BR& lBR = + stdair::FacBomContent::instance().testCreate<stdair::BR> (lBRKey); + + + } catch (const std::exception& stde) { + std::cerr << "Standard exception: " << stde.what() << std::endl; + return -1; + + } catch (...) { + return -1; + } + + return 0; +} Added: trunk/stdair/stdair/bom/BR.hpp =================================================================== --- trunk/stdair/stdair/bom/BR.hpp (rev 0) +++ trunk/stdair/stdair/bom/BR.hpp 2010-04-06 12:47:26 UTC (rev 165) @@ -0,0 +1,97 @@ +#ifndef __STDAIR_BOM_BR_HPP +#define __STDAIR_BOM_BR_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STL +#include <iosfwd> +// BOOST Fusion +#include <boost/fusion/container/map.hpp> +#include <boost/fusion/include/map.hpp> +// STDAIR +#include <stdair/bom/Structure.hpp> +#include <stdair/bom/BomContent.hpp> +#include <stdair/bom/BRKey.hpp> +#include <stdair/bom/BRTypes.hpp> +#include <stdair/bom/INTypes.hpp> + +namespace stdair { + // Forward declarations. + class FacBomContent; + class IN; + + /** Class representing the actual functional/business content + for the Bom root. */ + class BR : public BomContent { + friend class FacBomContent; + + public: + // ///////////////////////////////////////////////////////////////////////// + /** Definition allowing to retrieve the associated BOM structure type. */ + typedef BRStructure_T Structure_T; + + /** Definition allowing to retrieve the associated BOM key type. */ + typedef BRKey_T Key_T; + + /** Define the list of children holder types. */ + typedef boost::fusion::map<boost::fusion::pair<IN, INHolder_T*> > ChildrenHolderTypeMap_T; + // ///////////////////////////////////////////////////////////////////////// + + public: + // /////////// Display support methods ///////// + /** Dump a Business Object into an output stream. + @param ostream& the output stream. */ + void toStream (std::ostream& ioOut) const { ioOut << toString(); } + + /** Read a Business Object from an input stream. + @param istream& the input stream. */ + void fromStream (std::istream& ioIn) { } + + /** Get the serialised version of the Business Object. */ + std::string toString() const { return describeKey(); } + + /** Get a string describing the whole key (differentiating two objects + at any level). */ + const std::string describeKey() const { return std::string (""); } + + /** Get a string describing the short key (differentiating two objects + at the same level). */ + const std::string describeShortKey() const { return std::string (""); } + + + public: + // /////////// Getters ///////////// + + + public: + // //////////// Setters ////////////// + + private: + /** Retrieve the BOM structure object. */ + Structure_T& getStructure () { + return _structure; + } + + protected: + /** Constructors are private so as to force the usage of the Factory + layer. */ + /** Default constructors. */ + BR (); + BR (const BR&); + BR (const Key_T&, Structure_T&); + /** Destructor. */ + virtual ~BR(); + + private: + // Attributes + /** Key. */ + Key_T _key; + + /** Reference structure. */ + Structure_T& _structure; + + }; + +} +#endif // __STDAIR_BOM_BR_HPP Added: trunk/stdair/stdair/bom/BRKey.hpp =================================================================== --- trunk/stdair/stdair/bom/BRKey.hpp (rev 0) +++ trunk/stdair/stdair/bom/BRKey.hpp 2010-04-06 12:47:26 UTC (rev 165) @@ -0,0 +1,10 @@ +#ifndef __STDAIR_BOM_BRKEY_HPP +#define __STDAIR_BOM_BRKEY_HPP + +namespace stdair { + struct BRKey_T { + + }; +} + +#endif // __STDAIR_BOM_BRKEY_HPP Added: trunk/stdair/stdair/bom/BRTypes.hpp =================================================================== --- trunk/stdair/stdair/bom/BRTypes.hpp (rev 0) +++ trunk/stdair/stdair/bom/BRTypes.hpp 2010-04-06 12:47:26 UTC (rev 165) @@ -0,0 +1,19 @@ +// ////////////////////////////////////////////////////////////////////// +#ifndef __STDAIR_BOM_BRTYPES_HPP +#define __STDAIR_BOM_BRTYPES_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// + +namespace stdair { + // Forward declarations. + template <typename CONTENT> class Structure; + class BR; + + /** Define the BomRootStructure. */ + typedef Structure<BR> BRStructure_T; + +} +#endif // __STDAIR_BOM_BRTYPES_HPP + Added: trunk/stdair/stdair/bom/IN.hpp =================================================================== --- trunk/stdair/stdair/bom/IN.hpp (rev 0) +++ trunk/stdair/stdair/bom/IN.hpp 2010-04-06 12:47:26 UTC (rev 165) @@ -0,0 +1,91 @@ +#ifndef __STDAIR_BOM_IN_HPP +#define __STDAIR_BOM_IN_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STL +#include <iosfwd> +// STDAIR +#include <stdair/bom/Structure.hpp> +#include <stdair/bom/BomContent.hpp> +#include <stdair/bom/INTypes.hpp> +#include <stdair/bom/INKey.hpp> + +namespace stdair { + // Forward declarations. + class FacBomContent; + + /** Class representing the actual functional/business content + for the Bom root. */ + class IN : public BomContent { + friend class FacBomContent; + + public: + // ///////////////////////////////////////////////////////////////////////// + /** Definition allowing to retrieve the associated BOM structure type. */ + typedef INStructure_T Structure_T; + + /** Definition allowing to retrieve the associated BOM key type. */ + typedef INKey_T Key_T; + + // ///////////////////////////////////////////////////////////////////////// + + + public: + // /////////// Display support methods ///////// + /** Dump a Business Object into an output stream. + @param ostream& the output stream. */ + void toStream (std::ostream& ioOut) const { ioOut << toString(); } + + /** Read a Business Object from an input stream. + @param istream& the input stream. */ + void fromStream (std::istream& ioIn) { } + + /** Get the serialised version of the Business Object. */ + std::string toString() const { return describeKey(); } + + /** Get a string describing the whole key (differentiating two objects + at any level). */ + const std::string describeKey() const { return std::string (""); } + + /** Get a string describing the short key (differentiating two objects + at the same level). */ + const std::string describeShortKey() const { return std::string (""); } + + + public: + // /////////// Getters ///////////// + + + public: + // //////////// Setters ////////////// + + private: + /** Retrieve the BOM structure object. */ + Structure_T& getStructure () { + return _structure; + } + + protected: + /** Constructors are private so as to force the usage of the Factory + layer. */ + /** Default constructors. */ + IN (); + IN (const IN&); + IN (const Key_T&, Structure_T&); + /** Destructor. */ + virtual ~IN(); + + private: + // Attributes + /** Key. */ + Key_T _key; + + /** Reference structure. */ + Structure_T& _structure; + + }; + +} +#endif // __STDAIR_BOM_IN_HPP Added: trunk/stdair/stdair/bom/INKey.hpp =================================================================== --- trunk/stdair/stdair/bom/INKey.hpp (rev 0) +++ trunk/stdair/stdair/bom/INKey.hpp 2010-04-06 12:47:26 UTC (rev 165) @@ -0,0 +1,10 @@ +#ifndef __STDAIR_BOM_INKEY_HPP +#define __STDAIR_BOM_INKEY_HPP + +namespace stdair { + struct INKey_T { + + }; +} + +#endif // __STDAIR_BOM_INKEY_HPP Added: trunk/stdair/stdair/bom/INTypes.hpp =================================================================== --- trunk/stdair/stdair/bom/INTypes.hpp (rev 0) +++ trunk/stdair/stdair/bom/INTypes.hpp 2010-04-06 12:47:26 UTC (rev 165) @@ -0,0 +1,23 @@ +// ////////////////////////////////////////////////////////////////////// +#ifndef __STDAIR_BOM_INTYPES_HPP +#define __STDAIR_BOM_INTYPES_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// + +namespace stdair { + // Forward declarations. + template <typename CONTENT> class Structure; + template <typename CONTENT> class BomChildrenHolderImp; + class IN; + + /** Define the BomRootStructure. */ + typedef Structure<IN> INStructure_T; + + /** Define the Inventory holder type. */ + typedef BomChildrenHolderImp<IN> INHolder_T; + +} +#endif // __STDAIR_BOM_INTYPES_HPP + Added: trunk/stdair/stdair/bom/Structure.hpp =================================================================== --- trunk/stdair/stdair/bom/Structure.hpp (rev 0) +++ trunk/stdair/stdair/bom/Structure.hpp 2010-04-06 12:47:26 UTC (rev 165) @@ -0,0 +1,81 @@ +#ifndef __STDAIR_BOM_STRUCTURE_HPP +#define __STDAIR_BOM_STRUCTURE_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STL +#include <cassert> +// STDAIR +#include <stdair/bom/BomStructure.hpp> + +namespace stdair { + /** Wrapper class aimed at holding the actual content, modeled + by a specific BomContentRoot class. */ + template <typename CONTENT> + class Structure : public BomStructure { + friend class FacBomStructure; + friend class FacBomContent; + friend class BomStructure; + + public: + // Type definitions + /** Definition allowing to retrieve the associated key type. */ + typedef typename CONTENT::Key_T Key_T; + + /** Definition allowing to retrieve the map of children holder type. */ + typedef typename CONTENT::ChildrenHolderTypeMap_T ChildrenHolderTypeMap_T; + + public: + // ////////// GETTERS //////////// + const Key_T& getKey () { + assert (_content != NULL); + return _content->getKey(); + } + + private: + public: + // /////////// Display support methods ///////// + /** Dump a Business Object into an output stream. + @param ostream& the output stream. */ + void toStream (std::ostream& ioOut) const { + ioOut << toString() << std::endl; + } + + /** Read a Business Object from an input stream. + @param istream& the input stream. */ + void fromStream (std::istream& ioIn) { } + + /** Get the serialised version of the Business Object. */ + std::string toString() const { return describeShortKey(); } + + /** Get a string describing the whole key (differentiating two objects + at any level). */ + const std::string describeKey() const { return getKey().describe(); } + + /** Get a string describing the short key (differentiating two objects + at the same level). */ + const std::string describeShortKey() const { return getKey().toString(); } + + private: + /** Constructors are private so as to force the usage of the Factory + layer. */ + /** Default constructors. */ + Structure () : _content (NULL) { }; + Structure (const Structure&); + + /** Destructor. */ + ~Structure () { } + + private: + // Attributes + /** The actual functional (Business Object) content. */ + CONTENT* _content; + + /** The map of children holders. */ + ChildrenHolderTypeMap_T _holderMap; + }; + +} +#endif // __STDAIR_BOM_STRUCTURE_HPP + Modified: trunk/stdair/stdair/bom/sources.mk =================================================================== --- trunk/stdair/stdair/bom/sources.mk 2010-03-27 18:17:00 UTC (rev 164) +++ trunk/stdair/stdair/bom/sources.mk 2010-04-06 12:47:26 UTC (rev 165) @@ -93,7 +93,14 @@ $(top_srcdir)/stdair/bom/EventStruct.hpp \ $(top_srcdir)/stdair/bom/EventQueue.hpp \ $(top_srcdir)/stdair/bom/EventTypes.hpp \ - $(top_srcdir)/stdair/bom/BomManager.hpp + $(top_srcdir)/stdair/bom/BomManager.hpp \ + $(top_srcdir)/stdair/bom/Structure.hpp \ + $(top_srcdir)/stdair/bom/BR.hpp \ + $(top_srcdir)/stdair/bom/BRKey.hpp \ + $(top_srcdir)/stdair/bom/BRTypes.hpp \ + $(top_srcdir)/stdair/bom/IN.hpp \ + $(top_srcdir)/stdair/bom/INKey.hpp \ + $(top_srcdir)/stdair/bom/INTypes.hpp bom_cc_sources = \ $(top_srcdir)/stdair/bom/BomRootKey.cpp \ $(top_srcdir)/stdair/bom/InventoryKey.cpp \ Modified: trunk/stdair/stdair/factory/FacBomContent.hpp =================================================================== --- trunk/stdair/stdair/factory/FacBomContent.hpp 2010-03-27 18:17:00 UTC (rev 164) +++ trunk/stdair/stdair/factory/FacBomContent.hpp 2010-04-06 12:47:26 UTC (rev 165) @@ -33,7 +33,55 @@ public: /** Define the list (pool) of Bom objects. */ typedef std::vector<BomContent*> BomContentPool_T; + + + + + + + // ////////////////////////////////////////////////////////////////// public: + template <typename CONTENT> + CONTENT& testCreate (const typename CONTENT::Key_T& iKey) { + typedef typename CONTENT::Key_T KEY_T; + + // Create the structure/holder object + typedef typename CONTENT::Structure_T STRUCTURE_T; + STRUCTURE_T& lStructure = + FacBomStructure::instance().testCreate<STRUCTURE_T> (); + + + CONTENT* aContent_ptr = new CONTENT (iKey, lStructure); + assert (aContent_ptr != NULL); + + // The new object is added to the pool of content objects + _contentPool.push_back (aContent_ptr); + + // Link the structure/holder object with its corresponding content object + testSetContent<STRUCTURE_T, CONTENT> (lStructure, *aContent_ptr); + + return *aContent_ptr; + } + + private: + /** Link the structure/holder object with its corresponding content + object. */ + template<typename STRUCTURE, typename CONTENT> + static void testSetContent (STRUCTURE& ioStructure, + CONTENT& ioContent) { + ioStructure._content = &ioContent; + } + + + + + + + + + // ////////////////////////////////////////////////////////////////// + + public: /** Create the root of the BOM tree, i.e., a pair of linked BomRootStructure and BomRoot objects. */ template <typename BOM_ROOT> Modified: trunk/stdair/stdair/factory/FacBomStructure.hpp =================================================================== --- trunk/stdair/stdair/factory/FacBomStructure.hpp 2010-03-27 18:17:00 UTC (rev 164) +++ trunk/stdair/stdair/factory/FacBomStructure.hpp 2010-04-06 12:47:26 UTC (rev 165) @@ -62,8 +62,38 @@ <br>The singleton is instantiated when first used. @return FacBomStructure& */ static FacBomStructure& instance(); + + + // ////////////////////////////////////////////////////////////////// + + public: /** Create a structure object with the given key. */ + template <typename STRUCTURE> + STRUCTURE& testCreate () { + STRUCTURE* aStructure_ptr = NULL; + + aStructure_ptr = new STRUCTURE (); + assert (aStructure_ptr != NULL); + + // The new object is added to the pool of structure objects + _structurePool.push_back (aStructure_ptr); + + return *aStructure_ptr; + } + + + + + + + + + + // ////////////////////////////////////////////////////////////////// + + + /** Create a structure object with the given key. */ template <typename BOM_STRUCTURE> BOM_STRUCTURE& create () { BOM_STRUCTURE* aBomStructure_ptr = NULL; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-03-27 18:17:09
|
Revision: 164 http://stdair.svn.sourceforge.net/stdair/?rev=164&view=rev Author: denis_arnaud Date: 2010-03-27 18:17:00 +0000 (Sat, 27 Mar 2010) Log Message: ----------- [Test] Added a few booking class fields in the Inventory dump sample. Modified Paths: -------------- trunk/stdair/test/samples/invdump01.csv Modified: trunk/stdair/test/samples/invdump01.csv =================================================================== --- trunk/stdair/test/samples/invdump01.csv 2010-03-27 18:15:49 UTC (rev 163) +++ trunk/stdair/test/samples/invdump01.csv 2010-03-27 18:17:00 UTC (rev 164) @@ -1,2 +1,2 @@ -150310/SV/5/110310/INT/KBP;JFK;110310;1410;110310;1555;J,45,47,0,19,25,27,0,20,11:-19:47,11:-18:46,11:-17:45,11:-16:44,11:-15:43,11:-14:42,11:-13:41,11:-12:40,11:-11:39,11:-10:38,11:-9:37,11:-8:36,11:-7:35,11:-6:34,11:-5:33,11:-4:32,11:-3:31,11:-2:30,11:-1:29,11:0:28,11:1:27,11:2:26,11:3:25,11:4:24,11:5:23,11:6:22,69:7:21,127:8:20,184:9:19,242:10:18,300:11:17,478:12:16,656:13:15,833:14:14,1011:15:13,1071:16:12,1131:17:11,1191:18:10,1251:19:9,1431:20:8,1611:21:7,1790:22:6,1970:23:5,1983:24:4,1995:25:3,2008:26:2,2020:27:1;Y,218,225,0,199,17,24,0,201,42:-200:225,42:-199:224,42:-198:223,43:-197:222,44:-196:221,45:-195:220,45:-194:219,46:-193:218,47:-192:217,48:-191:216,48:-190:215,49:-189:214,50:-188:213,51:-187:212,51:-186:211,52:-185:210,53:-184:209,54:-183:208,54:-182:207,55:-181:206,56:-180:205,56:-179:204,57:-178:203,58:-177:202,59:-176:201,59:-175:200,60:-174:199,61:-173:198,62:-172:197,62:-171:196,63:-170:195,64:-169:194,65:-168:193,65:-167:192,66:-166:191,67:-165:190,67:-164:189,68:-163:188,69:-162:187,70:-161:186,70:-160:185,71:-159:184,72:-158:183,73:-157:182,73:-156:181,74:-155:180,75:-154:179,76:-153:178,76:-152:177,77:-151:176,78:-150:175,78:-149:174,79:-148:173,80:-147:172,81:-146:171,81:-145:170,82:-144:169,83:-143:168,84:-142:167,84:-141:166,85:-140:165,86:-139:164,87:-138:163,87:-137:162,88:-136:161,89:-135:160,89:-134:159,90:-133:158,91:-132:157,92:-131:156,92:-130:155,93:-129:154,94:-128:153,95:-127:152,95:-126:151,96:-125:150,97:-124:149,98:-123:148,98:-122:147,99:-121:146,100:-120:145,100:-119:144,101:-118:143,102:-117:142,103:-116:141,103:-115:140,104:-114:139,105:-113:138,106:-112:137,106:-111:136,107:-110:135,108:-109:134,109:-108:133,109:-107:132,110:-106:131,111:-105:130,111:-104:129,112:-103:128,113:-102:127,114:-101:126,114:-100:125,115:-99:124,116:-98:123,117:-97:122,117:-96:121,118:-95:120,119:-94:119,120:-93:118,120:-92:117,121:-91:116,122:-90:115,122:-89:114,123:-88:113,124:-87:112,125:-86:111,125:-85:110,126:-84:109,127:-83:108,128:-82:107,128:-81:106,129:-80:105,130:-79:104,131:-78:103,131:-77:102,132:-76:101,133:-75:100,133:-74:99,134:-73:98,135:-72:97,136:-71:96,136:-70:95,137:-69:94,138:-68:93,139:-67:92,139:-66:91,140:-65:90,141:-64:89,142:-63:88,142:-62:87,143:-61:86,144:-60:85,144:-59:84,145:-58:83,146:-57:82,147:-56:81,147:-55:80,148:-54:79,149:-53:78,150:-52:77,150:-51:76,151:-50:75,152:-49:74,153:-48:73,153:-47:72,154:-46:71,155:-45:70,155:-44:69,156:-43:68,157:-42:67,158:-41:66,158:-40:65,159:-39:64,160:-38:63,161:-37:62,161:-36:61,162:-35:60,163:-34:59,164:-33:58,164:-32:57,165:-31:56,166:-30:55,166:-29:54,167:-28:53,168:-27:52,169:-26:51,169:-25:50,170:-24:49,171:-23:48,172:-22:47,172:-21:46,173:-20:45,174:-19:44,175:-18:43,175:-17:42,176:-16:41,177:-15:40,177:-14:39,178:-13:38,179:-12:37,180:-11:36,180:-10:35,181:-9:34,182:-8:33,183:-7:32,183:-6:31,184:-5:30,185:-4:29,186:-3:28,186:-2:27,187:-1:26,188:0:25,188:1:24,197:2:23,206:3:22,215:4:21,224:5:20,233:6:19,242:7:18,251:8:17,260:9:16,269:10:15,305:11:14,341:12:13,378:13:12,414:14:11,450:15:10,454:16:9,458:17:8,521:18:7,583:19:6,761:20:5,762:21:4,762:22:3,1005:23:2,1248:24:1/KBP;JFK;J,19,J|0:45:5:26:26:27,C|0:40:6:22:22:27,D|0:34:9:18:18:20,I|0:25:10:14:14:19,F|0:15:8:10:1:12,U|0:7:7:5:0:10;Y,199,Y|0:223:2:24:24:24,B|0:221:1:23:23:23,H|0:220:3:22:22:23,K|0:217:3:21:21:22,M|0:214:1:20:20:22,P|0:213:1:19:19:19,T|0:212:2:18:18:19,L|0:210:5:16:11:11,V|0:205:7:14:14:14,S|0:198:7:12:9:9,N|0:191:2:10:10:12,Q|0:185:33:4:4:11,O|0:152:15:2:2:3,Z|0:137:46:0:-6:9,R|0:91:41:0:-5:-5,G|0:189:2:8:8:9,W|0:50:45:0:-25:3,X|0:5:5:0:-5:-10,E|0:0:0:0:0:-201,A|0:187:2:6:5:5 -150310/SV/5/110510/INT/KBP;JFK;110510;1410;110510;1550;J,32,32,0,4,28,28,0,4,11:-3:32,58:-2:31,104:-1:30,150:0:29,196:1:28,210:2:27,224:3:26,237:4:25,251:5:24,264:6:23,278:7:22,291:8:21,305:9:20,328:10:19,375:11:18,422:12:17,469:13:16,517:14:15,564:15:14,647:16:13,734:17:12,765:18:11,795:19:10,826:20:9,856:21:8,886:22:7,954:23:6,1041:24:5,1128:25:4,1262:26:3,1396:27:2,1722:28:1;Y,265,274,0,105,160,169,0,105,45:-104:274,45:-103:273,45:-102:272,45:-101:271,45:-100:270,45:-99:269,45:-98:268,45:-97:267,45:-96:266,45:-95:265,45:-94:264,45:-93:263,45:-92:262,45:-91:261,45:-90:260,45:-89:259,45:-88:258,45:-87:257,45:-86:256,45:-85:255,45:-84:254,45:-83:253,45:-82:252,45:-81:251,45:-80:250,45:-79:249,45:-78:248,45:-77:247,45:-76:246,45:-75:245,45:-74:244,45:-73:243,45:-72:242,45:-71:241,45:-70:240,45:-69:239,45:-68:238,45:-67:237,45:-66:236,45:-65:235,45:-64:234,45:-63:233,45:-62:232,45:-61:231,45:-60:230,45:-59:229,45:-58:228,45:-57:227,45:-56:226,45:-55:225,45:-54:224,45:-53:223,45:-52:222,45:-51:221,45:-50:220,45:-49:219,45:-48:218,45:-47:217,45:-46:216,45:-45:215,45:-44:214,45:-43:213,45:-42:212,45:-41:211,45:-40:210,45:-39:209,45:-38:208,45:-37:207,45:-36:206,45:-35:205,45:-34:204,45:-33:203,45:-32:202,45:-31:201,45:-30:200,45:-29:199,45:-28:198,45:-27:197,45:-26:196,45:-25:195,45:-24:194,45:-23:193,45:-22:192,45:-21:191,45:-20:190,45:-19:189,45:-18:188,45:-17:187,45:-16:186,45:-15:185,45:-14:184,45:-13:183,45:-12:182,45:-11:181,45:-10:180,45:-9:179,45:-8:178,45:-7:177,45:-6:176,45:-5:175,45:-4:174,45:-3:173,45:-2:172,45:-1:171,45:0:170,45:1:169,45:2:168,45:3:167,45:4:166,45:5:165,45:6:164,45:7:163,45:8:162,45:9:161,45:10:160,45:11:159,45:12:158,45:13:157,45:14:156,45:15:155,45:16:154,45:17:153,45:18:152,45:19:151,45:20:150,45:21:149,45:22:148,45:23:147,45:24:146,45:25:145,45:26:144,45:27:143,45:28:142,45:29:141,45:30:140,45:31:139,45:32:138,45:33:137,45:34:136,45:35:135,47:36:134,50:37:133,53:38:132,56:39:131,59:40:130,61:41:129,64:42:128,67:43:127,70:44:126,73:45:125,76:46:124,78:47:123,81:48:122,84:49:121,87:50:120,90:51:119,93:52:118,95:53:117,98:54:116,101:55:115,104:56:114,107:57:113,108:58:112,109:59:111,110:60:110,111:61:109,112:62:108,113:63:107,114:64:106,115:65:105,116:66:104,117:67:103,118:68:102,119:69:101,120:70:100,121:71:99,122:72:98,123:73:97,123:74:96,123:75:95,123:76:94,123:77:93,124:78:92,124:79:91,124:80:90,124:81:89,125:82:88,125:83:87,125:84:86,125:85:85,125:86:84,126:87:83,126:88:82,126:89:81,126:90:80,130:91:79,134:92:78,138:93:77,145:94:76,154:95:75,162:96:74,164:97:73,166:98:72,168:99:71,170:100:70,172:101:69,175:102:68,180:103:67,186:104:66,192:105:65,198:106:64,209:107:63,219:108:62,225:109:61,231:110:60,235:111:59,238:112:58,241:113:57,243:114:56,244:115:55,244:116:54,244:117:53,244:118:52,245:119:51,245:120:50,245:121:49,245:122:48,246:123:47,246:124:46,246:125:45,246:126:44,247:127:43,247:128:42,250:129:41,252:130:40,255:131:39,258:132:38,260:133:37,263:134:36,266:135:35,269:136:34,271:137:33,287:138:32,304:139:31,320:140:30,336:141:29,343:142:28,350:143:27,397:144:26,414:145:25,429:146:24,469:147:23,510:148:22,550:149:21,591:150:20,631:151:19,635:152:18,639:153:17,654:154:16,667:155:15,699:156:14,730:157:13,761:158:12,761:159:11,761:160:10,801:161:9,841:162:8,881:163:7,948:164:6,1015:165:5,1081:166:4,1093:167:3,1105:168:2,1117:169:1/KBP;JFK;J,4,J|0:32:4:28:28:28,C|0:28:3:28:28:28,D|0:25:4:25:25:27,I|0:21:12:21:21:26,F|0:9:2:9:4:18,U|0:7:7:7:2:8;Y,105,Y|0:274:4:169:169:169,B|0:270:2:166:166:169,H|0:268:3:164:164:166,K|0:265:3:161:161:164,M|0:262:3:158:158:162,P|0:259:4:155:155:156,T|0:255:4:151:150:150,L|0:251:8:147:140:140,V|0:243:4:141:141:146,S|0:239:14:137:135:135,N|0:225:6:123:123:143,Q|0:191:13:110:110:140,O|0:178:18:103:103:107,Z|0:160:40:85:17:137,R|0:120:100:68:0:103,G|0:219:24:117:117:133,W|0:20:10:18:18:107,X|0:10:7:9:9:103,E|0:3:3:3:0:-105,A|0:195:4:114:110:110 +150310/SV/5/110310/INT/KBP;JFK;110310;1410;110310;1555;J,45,47,0,19,25,27,0,20,11:-19:47,11:-18:46,11:-17:45,11:-16:44,11:-15:43,11:-14:42,11:-13:41,11:-12:40,11:-11:39,11:-10:38,11:-9:37,11:-8:36,11:-7:35,11:-6:34,11:-5:33,11:-4:32,11:-3:31,11:-2:30,11:-1:29,11:0:28,11:1:27,11:2:26,11:3:25,11:4:24,11:5:23,11:6:22,69:7:21,127:8:20,184:9:19,242:10:18,300:11:17,478:12:16,656:13:15,833:14:14,1011:15:13,1071:16:12,1131:17:11,1191:18:10,1251:19:9,1431:20:8,1611:21:7,1790:22:6,1970:23:5,1983:24:4,1995:25:3,2008:26:2,2020:27:1;Y,218,225,0,199,17,24,0,201,42:-200:225,42:-199:224,42:-198:223,43:-197:222,44:-196:221,45:-195:220,45:-194:219,46:-193:218,47:-192:217,48:-191:216,48:-190:215,49:-189:214,50:-188:213,51:-187:212,51:-186:211,52:-185:210,53:-184:209,54:-183:208,54:-182:207,55:-181:206,56:-180:205,56:-179:204,57:-178:203,58:-177:202,59:-176:201,59:-175:200,60:-174:199,61:-173:198,62:-172:197,62:-171:196,63:-170:195,64:-169:194,65:-168:193,65:-167:192,66:-166:191,67:-165:190,67:-164:189,68:-163:188,69:-162:187,70:-161:186,70:-160:185,71:-159:184,72:-158:183,73:-157:182,73:-156:181,74:-155:180,75:-154:179,76:-153:178,76:-152:177,77:-151:176,78:-150:175,78:-149:174,79:-148:173,80:-147:172,81:-146:171,81:-145:170,82:-144:169,83:-143:168,84:-142:167,84:-141:166,85:-140:165,86:-139:164,87:-138:163,87:-137:162,88:-136:161,89:-135:160,89:-134:159,90:-133:158,91:-132:157,92:-131:156,92:-130:155,93:-129:154,94:-128:153,95:-127:152,95:-126:151,96:-125:150,97:-124:149,98:-123:148,98:-122:147,99:-121:146,100:-120:145,100:-119:144,101:-118:143,102:-117:142,103:-116:141,103:-115:140,104:-114:139,105:-113:138,106:-112:137,106:-111:136,107:-110:135,108:-109:134,109:-108:133,109:-107:132,110:-106:131,111:-105:130,111:-104:129,112:-103:128,113:-102:127,114:-101:126,114:-100:125,115:-99:124,116:-98:123,117:-97:122,117:-96:121,118:-95:120,119:-94:119,120:-93:118,120:-92:117,121:-91:116,122:-90:115,122:-89:114,123:-88:113,124:-87:112,125:-86:111,125:-85:110,126:-84:109,127:-83:108,128:-82:107,128:-81:106,129:-80:105,130:-79:104,131:-78:103,131:-77:102,132:-76:101,133:-75:100,133:-74:99,134:-73:98,135:-72:97,136:-71:96,136:-70:95,137:-69:94,138:-68:93,139:-67:92,139:-66:91,140:-65:90,141:-64:89,142:-63:88,142:-62:87,143:-61:86,144:-60:85,144:-59:84,145:-58:83,146:-57:82,147:-56:81,147:-55:80,148:-54:79,149:-53:78,150:-52:77,150:-51:76,151:-50:75,152:-49:74,153:-48:73,153:-47:72,154:-46:71,155:-45:70,155:-44:69,156:-43:68,157:-42:67,158:-41:66,158:-40:65,159:-39:64,160:-38:63,161:-37:62,161:-36:61,162:-35:60,163:-34:59,164:-33:58,164:-32:57,165:-31:56,166:-30:55,166:-29:54,167:-28:53,168:-27:52,169:-26:51,169:-25:50,170:-24:49,171:-23:48,172:-22:47,172:-21:46,173:-20:45,174:-19:44,175:-18:43,175:-17:42,176:-16:41,177:-15:40,177:-14:39,178:-13:38,179:-12:37,180:-11:36,180:-10:35,181:-9:34,182:-8:33,183:-7:32,183:-6:31,184:-5:30,185:-4:29,186:-3:28,186:-2:27,187:-1:26,188:0:25,188:1:24,197:2:23,206:3:22,215:4:21,224:5:20,233:6:19,242:7:18,251:8:17,260:9:16,269:10:15,305:11:14,341:12:13,378:13:12,414:14:11,450:15:10,454:16:9,458:17:8,521:18:7,583:19:6,761:20:5,762:21:4,762:22:3,1005:23:2,1248:24:1/HEL;JFK;J,19,J|0:45:5:0:0:1:0:0:0:0:1:26:26:27,C|0:40:6:0:0:2:0:0:0:0:2:22:22:27,D|0:34:9:0:0:5:0:0:0:0:5:18:18:20,I|0:25:10:0:0:6:0:0:0:0:6:14:14:19,F|0:15:8:0:0:3:0:0:0:0:3:10:1:12,U|0:7:7:0:0:2:0:0:0:0:2:5:0:10;Y,199,Y|0:223:2:12:0:1:0:0:0:0:1:24:24:24,B|0:221:1:12:0:0:0:0:0:0:0:23:23:23,H|0:220:3:7:0:2:0:0:0:0:2:22:22:23,K|0:217:3:0:0:2:0:0:0:0:2:21:21:22,M|0:214:1:0:0:0:0:0:0:0:0:20:20:22,P|0:213:1:0:0:0:0:0:0:0:0:19:19:19,T|0:212:2:0:0:0:0:0:0:0:0:18:18:19,L|0:210:5:4:0:3:0:0:0:0:3:16:11:11,V|0:205:7:1:0:5:0:0:0:0:5:14:14:14,S|0:198:7:6:0:5:0:0:0:0:5:12:9:9,N|0:191:2:0:0:0:0:0:0:0:0:10:10:12,Q|0:185:33:1:0:31:0:0:0:0:31:4:4:11,O|0:152:15:8:8:13:0:0:0:0:13:2:2:3,Z|0:137:46:1:5:46:0:0:0:0:46:0:-6:9,R|0:91:41:3:3:41:0:0:0:0:41:0:-5:-5,G|0:189:2:2:0:0:0:0:0:0:0:8:8:9,W|0:50:45:0:3:45:0:0:0:0:45:0:-25:3,X|0:5:5:0:0:5:0:0:0:0:5:0:-5:-10,E|0:0:0:0:0:0:0:0:0:0:0:0:0:-201,A|0:187:2:0:0:0:0:0:0:0:0:6:5:5; +150310/SV/5/110510/INT/KBP;JFK;110510;1410;110510;1550;J,32,32,0,4,28,28,0,4,11:-3:32,58:-2:31,104:-1:30,150:0:29,196:1:28,210:2:27,224:3:26,237:4:25,251:5:24,264:6:23,278:7:22,291:8:21,305:9:20,328:10:19,375:11:18,422:12:17,469:13:16,517:14:15,564:15:14,647:16:13,734:17:12,765:18:11,795:19:10,826:20:9,856:21:8,886:22:7,954:23:6,1041:24:5,1128:25:4,1262:26:3,1396:27:2,1722:28:1;Y,265,274,0,105,160,169,0,105,45:-104:274,45:-103:273,45:-102:272,45:-101:271,45:-100:270,45:-99:269,45:-98:268,45:-97:267,45:-96:266,45:-95:265,45:-94:264,45:-93:263,45:-92:262,45:-91:261,45:-90:260,45:-89:259,45:-88:258,45:-87:257,45:-86:256,45:-85:255,45:-84:254,45:-83:253,45:-82:252,45:-81:251,45:-80:250,45:-79:249,45:-78:248,45:-77:247,45:-76:246,45:-75:245,45:-74:244,45:-73:243,45:-72:242,45:-71:241,45:-70:240,45:-69:239,45:-68:238,45:-67:237,45:-66:236,45:-65:235,45:-64:234,45:-63:233,45:-62:232,45:-61:231,45:-60:230,45:-59:229,45:-58:228,45:-57:227,45:-56:226,45:-55:225,45:-54:224,45:-53:223,45:-52:222,45:-51:221,45:-50:220,45:-49:219,45:-48:218,45:-47:217,45:-46:216,45:-45:215,45:-44:214,45:-43:213,45:-42:212,45:-41:211,45:-40:210,45:-39:209,45:-38:208,45:-37:207,45:-36:206,45:-35:205,45:-34:204,45:-33:203,45:-32:202,45:-31:201,45:-30:200,45:-29:199,45:-28:198,45:-27:197,45:-26:196,45:-25:195,45:-24:194,45:-23:193,45:-22:192,45:-21:191,45:-20:190,45:-19:189,45:-18:188,45:-17:187,45:-16:186,45:-15:185,45:-14:184,45:-13:183,45:-12:182,45:-11:181,45:-10:180,45:-9:179,45:-8:178,45:-7:177,45:-6:176,45:-5:175,45:-4:174,45:-3:173,45:-2:172,45:-1:171,45:0:170,45:1:169,45:2:168,45:3:167,45:4:166,45:5:165,45:6:164,45:7:163,45:8:162,45:9:161,45:10:160,45:11:159,45:12:158,45:13:157,45:14:156,45:15:155,45:16:154,45:17:153,45:18:152,45:19:151,45:20:150,45:21:149,45:22:148,45:23:147,45:24:146,45:25:145,45:26:144,45:27:143,45:28:142,45:29:141,45:30:140,45:31:139,45:32:138,45:33:137,45:34:136,45:35:135,47:36:134,50:37:133,53:38:132,56:39:131,59:40:130,61:41:129,64:42:128,67:43:127,70:44:126,73:45:125,76:46:124,78:47:123,81:48:122,84:49:121,87:50:120,90:51:119,93:52:118,95:53:117,98:54:116,101:55:115,104:56:114,107:57:113,108:58:112,109:59:111,110:60:110,111:61:109,112:62:108,113:63:107,114:64:106,115:65:105,116:66:104,117:67:103,118:68:102,119:69:101,120:70:100,121:71:99,122:72:98,123:73:97,123:74:96,123:75:95,123:76:94,123:77:93,124:78:92,124:79:91,124:80:90,124:81:89,125:82:88,125:83:87,125:84:86,125:85:85,125:86:84,126:87:83,126:88:82,126:89:81,126:90:80,130:91:79,134:92:78,138:93:77,145:94:76,154:95:75,162:96:74,164:97:73,166:98:72,168:99:71,170:100:70,172:101:69,175:102:68,180:103:67,186:104:66,192:105:65,198:106:64,209:107:63,219:108:62,225:109:61,231:110:60,235:111:59,238:112:58,241:113:57,243:114:56,244:115:55,244:116:54,244:117:53,244:118:52,245:119:51,245:120:50,245:121:49,245:122:48,246:123:47,246:124:46,246:125:45,246:126:44,247:127:43,247:128:42,250:129:41,252:130:40,255:131:39,258:132:38,260:133:37,263:134:36,266:135:35,269:136:34,271:137:33,287:138:32,304:139:31,320:140:30,336:141:29,343:142:28,350:143:27,397:144:26,414:145:25,429:146:24,469:147:23,510:148:22,550:149:21,591:150:20,631:151:19,635:152:18,639:153:17,654:154:16,667:155:15,699:156:14,730:157:13,761:158:12,761:159:11,761:160:10,801:161:9,841:162:8,881:163:7,948:164:6,1015:165:5,1081:166:4,1093:167:3,1105:168:2,1117:169:1/HEL;JFK;J,4,J|0:32:4:5:0:4:0:0:0:0:4:28:28:28,C|0:28:3:0:0:0:0:0:0:0:0:28:28:28,D|0:25:4:4:0:0:0:0:0:0:0:25:25:27,I|0:21:12:1:0:0:0:0:0:0:0:21:21:26,F|0:9:2:0:0:0:0:0:0:0:0:9:4:18,U|0:7:7:0:0:0:0:0:0:0:0:7:2:8;Y,105,Y|0:274:4:6:0:1:0:0:0:0:1:169:169:169,B|0:270:2:0:0:0:0:0:0:0:0:166:166:169,H|0:268:3:0:0:0:0:0:0:0:0:164:164:166,K|0:265:3:0:0:0:0:0:0:0:0:161:161:164,M|0:262:3:5:0:0:0:0:0:0:0:158:158:162,P|0:259:4:0:0:0:0:0:0:0:0:155:155:156,T|0:255:4:0:0:0:0:0:0:0:0:151:150:150,L|0:251:8:2:0:2:0:0:0:0:2:147:140:140,V|0:243:4:0:0:0:0:0:0:0:0:141:141:146,S|0:239:14:4:8:0:0:0:0:0:0:137:135:135,N|0:225:6:2:0:0:0:0:0:0:0:123:123:143,Q|0:191:13:0:0:6:0:0:0:0:6:110:110:140,O|0:178:18:4:6:0:0:0:0:0:0:103:103:107,Z|0:160:40:1:3:23:0:0:0:0:23:85:17:137,R|0:120:100:5:7:50:0:0:0:0:50:68:0:103,G|0:219:24:1:0:21:21:0:0:0:21:117:117:133,W|0:20:10:1:0:1:0:0:0:0:1:18:18:107,X|0:10:7:1:0:1:0:0:0:0:1:9:9:103,E|0:3:3:0:0:0:0:0:0:0:0:3:0:-105,A|0:195:4:0:0:0:0:0:0:0:0:114:110:110; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-03-27 18:15:55
|
Revision: 163 http://stdair.svn.sourceforge.net/stdair/?rev=163&view=rev Author: denis_arnaud Date: 2010-03-27 18:15:49 +0000 (Sat, 27 Mar 2010) Log Message: ----------- [API] Added a few type definitions. Modified Paths: -------------- trunk/stdair/stdair/STDAIR_Types.hpp Modified: trunk/stdair/stdair/STDAIR_Types.hpp =================================================================== --- trunk/stdair/stdair/STDAIR_Types.hpp 2010-03-21 10:50:15 UTC (rev 162) +++ trunk/stdair/stdair/STDAIR_Types.hpp 2010-03-27 18:15:49 UTC (rev 163) @@ -98,9 +98,15 @@ /** Define the type for network ID. */ typedef std::string NetworkID_T; - /** Define the type for airport codes. */ - typedef std::string AirportCode_T; + /** Define the Airline Code type (2-letter-code, e.g., BA). */ + typedef std::string AirlineCode_T; + /** Location code (3-letter-code, e.g., LON). */ + typedef std::string LocationCode_T; + + /** Define the Airport Code type (3-letter-code, e.g., LHR). */ + typedef LocationCode_T AirportCode_T; + /** Define the type for flight numbers. */ typedef unsigned short FlightNumber_T; @@ -116,12 +122,6 @@ /** Define the seed type of an Uniform function. */ typedef unsigned long int UniformSeed_T; - /** Define the Airline Code type (2-letter-code, e.g., BA). */ - typedef std::string AirlineCode_T; - - /** Define the Airport Code type (3-letter-code, e.g., LHR). */ - typedef std::string AirportCode_T; - /** Define the Request status for booking (1-letter-code, e.g., B: booked, C: cancelled, R: Rejected). */ typedef std::string RequestStatus_T; @@ -243,6 +243,11 @@ B, K, etc.). */ typedef std::string ClassCode_T; + /** Define the sub-class code (e.g., 0, 1, 2, etc.). The subclass is + a sub-structure for the booking class, allowing to have specific + rules for some criteria like POS. */ + typedef std::string SubclassCode_T; + /** Define the flight path code (code made by a suite of flight numbers). */ typedef std::string FlightPathCode_T; @@ -449,12 +454,6 @@ /** Count */ typedef int Count_T; - /** Location code */ - typedef std::string LocationCode_T; - - /** Airport code */ - typedef LocationCode_T AirportCode_T; - /** City code */ typedef LocationCode_T CityCode_T; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-03-21 10:50:21
|
Revision: 162 http://stdair.svn.sourceforge.net/stdair/?rev=162&view=rev Author: denis_arnaud Date: 2010-03-21 10:50:15 +0000 (Sun, 21 Mar 2010) Log Message: ----------- [API] Added a few type definitions for bucket-related structures. Modified Paths: -------------- trunk/stdair/stdair/STDAIR_Types.hpp Modified: trunk/stdair/stdair/STDAIR_Types.hpp =================================================================== --- trunk/stdair/stdair/STDAIR_Types.hpp 2010-03-20 12:06:38 UTC (rev 161) +++ trunk/stdair/stdair/STDAIR_Types.hpp 2010-03-21 10:50:15 UTC (rev 162) @@ -213,8 +213,12 @@ /** Define a Willingness-To-Pay (WTP) (e.g., 1000.0 Euros). */ typedef double WTP_T; + /** Define the number of seats (it can be non integer, because the + overbooking can be applied at booking class or PNR level). */ + typedef double NbOfSeats_T; + /** Define the number of seats required by a demand. */ - typedef unsigned short NbOfSeats_T; + // typedef unsigned short NbOfSeats_T; /** Number of passengers (in a group) for a booking. */ typedef unsigned short PartySize_T; @@ -281,9 +285,12 @@ /** Define a number of flight dates. */ typedef double NbOfFlightDates_T; - /** Define a number of commited spaces in a cabin. */ + /** Define the commited space of a cabin. */ typedef double CommitedSpace_T; + /** Define the unsold protection (UPR). */ + typedef double UPR_T; + /** Define availibility of booking limit. */ typedef bool CensorshipFlag_T; @@ -297,6 +304,9 @@ /** Define the value of the authorization level. */ typedef double AuthorizationLevel_T; + /** Define the value of the adjustment for cabin capacity. */ + typedef double CapacityAdjustment_T; + /** Define the rate of overbooking */ typedef double OverbookingRate_T; @@ -325,6 +335,9 @@ /** Define a Bid-Price Vector. */ typedef std::vector<BidPrice_T> BidPriceVector_T; + /** Define the current index of a Bid-Price Vector (for a given LegCabin). */ + typedef unsigned int SeatIndex_T; + /** Define a number of travel solutions (in a travel solution block). */ typedef unsigned short NbOfTravelSolutions_T; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-03-20 12:06:46
|
Revision: 161 http://stdair.svn.sourceforge.net/stdair/?rev=161&view=rev Author: denis_arnaud Date: 2010-03-20 12:06:38 +0000 (Sat, 20 Mar 2010) Log Message: ----------- [Test] Added a sample file for an airline inventory dump. Added Paths: ----------- trunk/stdair/test/samples/invdump01.csv Added: trunk/stdair/test/samples/invdump01.csv =================================================================== --- trunk/stdair/test/samples/invdump01.csv (rev 0) +++ trunk/stdair/test/samples/invdump01.csv 2010-03-20 12:06:38 UTC (rev 161) @@ -0,0 +1,2 @@ +150310/SV/5/110310/INT/KBP;JFK;110310;1410;110310;1555;J,45,47,0,19,25,27,0,20,11:-19:47,11:-18:46,11:-17:45,11:-16:44,11:-15:43,11:-14:42,11:-13:41,11:-12:40,11:-11:39,11:-10:38,11:-9:37,11:-8:36,11:-7:35,11:-6:34,11:-5:33,11:-4:32,11:-3:31,11:-2:30,11:-1:29,11:0:28,11:1:27,11:2:26,11:3:25,11:4:24,11:5:23,11:6:22,69:7:21,127:8:20,184:9:19,242:10:18,300:11:17,478:12:16,656:13:15,833:14:14,1011:15:13,1071:16:12,1131:17:11,1191:18:10,1251:19:9,1431:20:8,1611:21:7,1790:22:6,1970:23:5,1983:24:4,1995:25:3,2008:26:2,2020:27:1;Y,218,225,0,199,17,24,0,201,42:-200:225,42:-199:224,42:-198:223,43:-197:222,44:-196:221,45:-195:220,45:-194:219,46:-193:218,47:-192:217,48:-191:216,48:-190:215,49:-189:214,50:-188:213,51:-187:212,51:-186:211,52:-185:210,53:-184:209,54:-183:208,54:-182:207,55:-181:206,56:-180:205,56:-179:204,57:-178:203,58:-177:202,59:-176:201,59:-175:200,60:-174:199,61:-173:198,62:-172:197,62:-171:196,63:-170:195,64:-169:194,65:-168:193,65:-167:192,66:-166:191,67:-165:190,67:-164:189,68:-163:188,69:-162:187,70:-161:186,70:-160:185,71:-159:184,72:-158:183,73:-157:182,73:-156:181,74:-155:180,75:-154:179,76:-153:178,76:-152:177,77:-151:176,78:-150:175,78:-149:174,79:-148:173,80:-147:172,81:-146:171,81:-145:170,82:-144:169,83:-143:168,84:-142:167,84:-141:166,85:-140:165,86:-139:164,87:-138:163,87:-137:162,88:-136:161,89:-135:160,89:-134:159,90:-133:158,91:-132:157,92:-131:156,92:-130:155,93:-129:154,94:-128:153,95:-127:152,95:-126:151,96:-125:150,97:-124:149,98:-123:148,98:-122:147,99:-121:146,100:-120:145,100:-119:144,101:-118:143,102:-117:142,103:-116:141,103:-115:140,104:-114:139,105:-113:138,106:-112:137,106:-111:136,107:-110:135,108:-109:134,109:-108:133,109:-107:132,110:-106:131,111:-105:130,111:-104:129,112:-103:128,113:-102:127,114:-101:126,114:-100:125,115:-99:124,116:-98:123,117:-97:122,117:-96:121,118:-95:120,119:-94:119,120:-93:118,120:-92:117,121:-91:116,122:-90:115,122:-89:114,123:-88:113,124:-87:112,125:-86:111,125:-85:110,126:-84:109,127:-83:108,128:-82:107,128:-81:106,129:-80:105,130:-79:104,131:-78:103,131:-77:102,132:-76:101,133:-75:100,133:-74:99,134:-73:98,135:-72:97,136:-71:96,136:-70:95,137:-69:94,138:-68:93,139:-67:92,139:-66:91,140:-65:90,141:-64:89,142:-63:88,142:-62:87,143:-61:86,144:-60:85,144:-59:84,145:-58:83,146:-57:82,147:-56:81,147:-55:80,148:-54:79,149:-53:78,150:-52:77,150:-51:76,151:-50:75,152:-49:74,153:-48:73,153:-47:72,154:-46:71,155:-45:70,155:-44:69,156:-43:68,157:-42:67,158:-41:66,158:-40:65,159:-39:64,160:-38:63,161:-37:62,161:-36:61,162:-35:60,163:-34:59,164:-33:58,164:-32:57,165:-31:56,166:-30:55,166:-29:54,167:-28:53,168:-27:52,169:-26:51,169:-25:50,170:-24:49,171:-23:48,172:-22:47,172:-21:46,173:-20:45,174:-19:44,175:-18:43,175:-17:42,176:-16:41,177:-15:40,177:-14:39,178:-13:38,179:-12:37,180:-11:36,180:-10:35,181:-9:34,182:-8:33,183:-7:32,183:-6:31,184:-5:30,185:-4:29,186:-3:28,186:-2:27,187:-1:26,188:0:25,188:1:24,197:2:23,206:3:22,215:4:21,224:5:20,233:6:19,242:7:18,251:8:17,260:9:16,269:10:15,305:11:14,341:12:13,378:13:12,414:14:11,450:15:10,454:16:9,458:17:8,521:18:7,583:19:6,761:20:5,762:21:4,762:22:3,1005:23:2,1248:24:1/KBP;JFK;J,19,J|0:45:5:26:26:27,C|0:40:6:22:22:27,D|0:34:9:18:18:20,I|0:25:10:14:14:19,F|0:15:8:10:1:12,U|0:7:7:5:0:10;Y,199,Y|0:223:2:24:24:24,B|0:221:1:23:23:23,H|0:220:3:22:22:23,K|0:217:3:21:21:22,M|0:214:1:20:20:22,P|0:213:1:19:19:19,T|0:212:2:18:18:19,L|0:210:5:16:11:11,V|0:205:7:14:14:14,S|0:198:7:12:9:9,N|0:191:2:10:10:12,Q|0:185:33:4:4:11,O|0:152:15:2:2:3,Z|0:137:46:0:-6:9,R|0:91:41:0:-5:-5,G|0:189:2:8:8:9,W|0:50:45:0:-25:3,X|0:5:5:0:-5:-10,E|0:0:0:0:0:-201,A|0:187:2:6:5:5 +150310/SV/5/110510/INT/KBP;JFK;110510;1410;110510;1550;J,32,32,0,4,28,28,0,4,11:-3:32,58:-2:31,104:-1:30,150:0:29,196:1:28,210:2:27,224:3:26,237:4:25,251:5:24,264:6:23,278:7:22,291:8:21,305:9:20,328:10:19,375:11:18,422:12:17,469:13:16,517:14:15,564:15:14,647:16:13,734:17:12,765:18:11,795:19:10,826:20:9,856:21:8,886:22:7,954:23:6,1041:24:5,1128:25:4,1262:26:3,1396:27:2,1722:28:1;Y,265,274,0,105,160,169,0,105,45:-104:274,45:-103:273,45:-102:272,45:-101:271,45:-100:270,45:-99:269,45:-98:268,45:-97:267,45:-96:266,45:-95:265,45:-94:264,45:-93:263,45:-92:262,45:-91:261,45:-90:260,45:-89:259,45:-88:258,45:-87:257,45:-86:256,45:-85:255,45:-84:254,45:-83:253,45:-82:252,45:-81:251,45:-80:250,45:-79:249,45:-78:248,45:-77:247,45:-76:246,45:-75:245,45:-74:244,45:-73:243,45:-72:242,45:-71:241,45:-70:240,45:-69:239,45:-68:238,45:-67:237,45:-66:236,45:-65:235,45:-64:234,45:-63:233,45:-62:232,45:-61:231,45:-60:230,45:-59:229,45:-58:228,45:-57:227,45:-56:226,45:-55:225,45:-54:224,45:-53:223,45:-52:222,45:-51:221,45:-50:220,45:-49:219,45:-48:218,45:-47:217,45:-46:216,45:-45:215,45:-44:214,45:-43:213,45:-42:212,45:-41:211,45:-40:210,45:-39:209,45:-38:208,45:-37:207,45:-36:206,45:-35:205,45:-34:204,45:-33:203,45:-32:202,45:-31:201,45:-30:200,45:-29:199,45:-28:198,45:-27:197,45:-26:196,45:-25:195,45:-24:194,45:-23:193,45:-22:192,45:-21:191,45:-20:190,45:-19:189,45:-18:188,45:-17:187,45:-16:186,45:-15:185,45:-14:184,45:-13:183,45:-12:182,45:-11:181,45:-10:180,45:-9:179,45:-8:178,45:-7:177,45:-6:176,45:-5:175,45:-4:174,45:-3:173,45:-2:172,45:-1:171,45:0:170,45:1:169,45:2:168,45:3:167,45:4:166,45:5:165,45:6:164,45:7:163,45:8:162,45:9:161,45:10:160,45:11:159,45:12:158,45:13:157,45:14:156,45:15:155,45:16:154,45:17:153,45:18:152,45:19:151,45:20:150,45:21:149,45:22:148,45:23:147,45:24:146,45:25:145,45:26:144,45:27:143,45:28:142,45:29:141,45:30:140,45:31:139,45:32:138,45:33:137,45:34:136,45:35:135,47:36:134,50:37:133,53:38:132,56:39:131,59:40:130,61:41:129,64:42:128,67:43:127,70:44:126,73:45:125,76:46:124,78:47:123,81:48:122,84:49:121,87:50:120,90:51:119,93:52:118,95:53:117,98:54:116,101:55:115,104:56:114,107:57:113,108:58:112,109:59:111,110:60:110,111:61:109,112:62:108,113:63:107,114:64:106,115:65:105,116:66:104,117:67:103,118:68:102,119:69:101,120:70:100,121:71:99,122:72:98,123:73:97,123:74:96,123:75:95,123:76:94,123:77:93,124:78:92,124:79:91,124:80:90,124:81:89,125:82:88,125:83:87,125:84:86,125:85:85,125:86:84,126:87:83,126:88:82,126:89:81,126:90:80,130:91:79,134:92:78,138:93:77,145:94:76,154:95:75,162:96:74,164:97:73,166:98:72,168:99:71,170:100:70,172:101:69,175:102:68,180:103:67,186:104:66,192:105:65,198:106:64,209:107:63,219:108:62,225:109:61,231:110:60,235:111:59,238:112:58,241:113:57,243:114:56,244:115:55,244:116:54,244:117:53,244:118:52,245:119:51,245:120:50,245:121:49,245:122:48,246:123:47,246:124:46,246:125:45,246:126:44,247:127:43,247:128:42,250:129:41,252:130:40,255:131:39,258:132:38,260:133:37,263:134:36,266:135:35,269:136:34,271:137:33,287:138:32,304:139:31,320:140:30,336:141:29,343:142:28,350:143:27,397:144:26,414:145:25,429:146:24,469:147:23,510:148:22,550:149:21,591:150:20,631:151:19,635:152:18,639:153:17,654:154:16,667:155:15,699:156:14,730:157:13,761:158:12,761:159:11,761:160:10,801:161:9,841:162:8,881:163:7,948:164:6,1015:165:5,1081:166:4,1093:167:3,1105:168:2,1117:169:1/KBP;JFK;J,4,J|0:32:4:28:28:28,C|0:28:3:28:28:28,D|0:25:4:25:25:27,I|0:21:12:21:21:26,F|0:9:2:9:4:18,U|0:7:7:7:2:8;Y,105,Y|0:274:4:169:169:169,B|0:270:2:166:166:169,H|0:268:3:164:164:166,K|0:265:3:161:161:164,M|0:262:3:158:158:162,P|0:259:4:155:155:156,T|0:255:4:151:150:150,L|0:251:8:147:140:140,V|0:243:4:141:141:146,S|0:239:14:137:135:135,N|0:225:6:123:123:143,Q|0:191:13:110:110:140,O|0:178:18:103:103:107,Z|0:160:40:85:17:137,R|0:120:100:68:0:103,G|0:219:24:117:117:133,W|0:20:10:18:18:107,X|0:10:7:9:9:103,E|0:3:3:3:0:-105,A|0:195:4:114:110:110 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <qua...@us...> - 2010-03-11 09:07:39
|
Revision: 160 http://stdair.svn.sourceforge.net/stdair/?rev=160&view=rev Author: quannaus Date: 2010-03-11 09:07:32 +0000 (Thu, 11 Mar 2010) Log Message: ----------- [dev] Removed the key from DemandCharacteristics. Modified Paths: -------------- trunk/stdair/stdair/basic/DemandCharacteristics.cpp trunk/stdair/stdair/basic/DemandCharacteristics.hpp trunk/stdair/stdair/bom/DemandStreamContent.cpp trunk/stdair/stdair/bom/DemandStreamContent.hpp Modified: trunk/stdair/stdair/basic/DemandCharacteristics.cpp =================================================================== --- trunk/stdair/stdair/basic/DemandCharacteristics.cpp 2010-03-10 16:30:22 UTC (rev 159) +++ trunk/stdair/stdair/basic/DemandCharacteristics.cpp 2010-03-11 09:07:32 UTC (rev 160) @@ -13,8 +13,7 @@ // ///////////////////////////////////////////////////// DemandCharacteristics:: - DemandCharacteristics (const DemandStreamKey_T& iKey, - const ArrivalPatternCumulativeDistribution_T& iArrivalPattern, + DemandCharacteristics (const ArrivalPatternCumulativeDistribution_T& iArrivalPattern, const POSProbabilityMassFunction_T& iPOSProbMass, const ChannelProbabilityMassFunction_T& iChannelProbMass, const TripTypeProbabilityMassFunction_T& iTripTypeProbMass, @@ -23,7 +22,7 @@ const PreferredDepartureTimeContinuousDistribution_T& iPreferredDepartureTimeContinuousDistribution, const WTPContinuousDistribution_T& iWTPContinuousDistribution, const ValueOfTimeContinuousDistribution_T& iValueOfTimeContinuousDistribution) - : _key (iKey), _arrivalPattern (iArrivalPattern), + : _arrivalPattern (iArrivalPattern), _posProbabilityMass (iPOSProbMass), _channelProbabilityMass (iChannelProbMass), _tripTypeProbabilityMass (iTripTypeProbMass), @@ -39,40 +38,12 @@ } // ///////////////////////////////////////////////////// - const AirportCode_T& DemandCharacteristics::getOrigin() const { - return _key.getOrigin(); - } - - // ///////////////////////////////////////////////////// - const AirportCode_T& DemandCharacteristics::getDestination() const { - return _key.getDestination(); - } - - // ///////////////////////////////////////////////////// - const Date_T& DemandCharacteristics::getPreferredDepartureDate() const { - return _key.getPreferredDepartureDate(); - } - - // ///////////////////////////////////////////////////// - const CabinCode_T& DemandCharacteristics::getPreferredCabin() const { - return _key.getPreferredCabin(); - } - - // ///////////////////////////////////////////////////// std::string DemandCharacteristics::display() const { std::ostringstream oStr; // oStr << "****************** Demand characteristics ******************" << std::endl; - oStr << "Origin ........................... : " << _key.getOrigin() - << std::endl; - oStr << "Destination ...................... : " << _key.getDestination() - << std::endl; - oStr << "Preferred departure date ......... : " - << _key.getPreferredDepartureDate() << std::endl; - oStr << "Preferred cabin .................. : " << _key.getPreferredCabin() - << std::endl; oStr << "Arrival pattern (days from departure, proportion): "; oStr << _arrivalPattern.displayCumulativeDistribution() << std::endl; oStr << "POS probability mass (POS, propotion): "; Modified: trunk/stdair/stdair/basic/DemandCharacteristics.hpp =================================================================== --- trunk/stdair/stdair/basic/DemandCharacteristics.hpp 2010-03-10 16:30:22 UTC (rev 159) +++ trunk/stdair/stdair/basic/DemandCharacteristics.hpp 2010-03-11 09:07:32 UTC (rev 160) @@ -17,24 +17,7 @@ struct DemandCharacteristics { public: - // ///////////// Getters /////////// - /** Get the key. */ - const DemandStreamKey_T& getKey() const { - return _key; - } - - /** Get the origin. */ - const AirportCode_T& getOrigin() const; - - /** Get the destination. */ - const AirportCode_T& getDestination() const; - - /** Get the preferred departure date. */ - const Date_T& getPreferredDepartureDate() const; - - /** Get the preferred cabin. */ - const CabinCode_T& getPreferredCabin() const; - + // ///////////// Getters /////////// /** Get the arrival pattern. */ const ContinuousFloatDuration_T& getArrivalPattern() const { return _arrivalPattern; @@ -89,8 +72,7 @@ public: // ////////// Constructors and destructors ///////// /** Default constructor. */ - DemandCharacteristics (const DemandStreamKey_T&, - const ArrivalPatternCumulativeDistribution_T&, + DemandCharacteristics (const ArrivalPatternCumulativeDistribution_T&, const POSProbabilityMassFunction_T&, const ChannelProbabilityMassFunction_T&, const TripTypeProbabilityMassFunction_T&, @@ -111,9 +93,6 @@ private: // //////////////////// Attributes ///////////////////// - /** DemandStream Key */ - const DemandStreamKey_T _key; - /** Arrival pattern (cumulative distribution of timing of arrival of requests (negative number of days between departure date and request date). */ Modified: trunk/stdair/stdair/bom/DemandStreamContent.cpp =================================================================== --- trunk/stdair/stdair/bom/DemandStreamContent.cpp 2010-03-10 16:30:22 UTC (rev 159) +++ trunk/stdair/stdair/bom/DemandStreamContent.cpp 2010-03-11 09:07:32 UTC (rev 160) @@ -35,7 +35,7 @@ const RandomSeed_T& iRequestDateTimeSeed, const RandomSeed_T& iDemandCharacteristicsSeed) : _key (iKey), - _demandCharacteristics (iKey, iArrivalPattern, iPOSProbMass, + _demandCharacteristics (iArrivalPattern, iPOSProbMass, iChannelProbMass, iTripTypeProbMass, iStayDurationProbMass, iFrequentFlyerProbMass, iPreferredDepartureTimeContinuousDistribution, Modified: trunk/stdair/stdair/bom/DemandStreamContent.hpp =================================================================== --- trunk/stdair/stdair/bom/DemandStreamContent.hpp 2010-03-10 16:30:22 UTC (rev 159) +++ trunk/stdair/stdair/bom/DemandStreamContent.hpp 2010-03-11 09:07:32 UTC (rev 160) @@ -41,22 +41,22 @@ /** Get the origin. */ const AirportCode_T& getOrigin() const { - return _demandCharacteristics.getOrigin(); + return _key.getOrigin(); } /** Get the destination. */ const AirportCode_T& getDestination() const { - return _demandCharacteristics.getDestination(); + return _key.getDestination(); } /** Get the preferred departure date. */ const Date_T& getPreferredDepartureDate() const { - return _demandCharacteristics.getPreferredDepartureDate(); + return _key.getPreferredDepartureDate(); } /** Get the preferred cabin. */ const CabinCode_T& getPreferredCabin() const { - return _demandCharacteristics.getPreferredCabin(); + return _key.getPreferredCabin(); } /** Get the arrival pattern. */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <qua...@us...> - 2010-03-10 16:30:35
|
Revision: 159 http://stdair.svn.sourceforge.net/stdair/?rev=159&view=rev Author: quannaus Date: 2010-03-10 16:30:22 +0000 (Wed, 10 Mar 2010) Log Message: ----------- [dev] Added the lite version of ContinuousAttribute and CategoricalAttribute. Modified Paths: -------------- trunk/stdair/stdair/STDAIR_Types.hpp trunk/stdair/stdair/basic/CategoricalAttribute.hpp trunk/stdair/stdair/basic/ContinuousAttribute.hpp trunk/stdair/stdair/basic/DemandCharacteristicTypes.hpp trunk/stdair/stdair/basic/DemandCharacteristics.cpp trunk/stdair/stdair/basic/DemandCharacteristics.hpp trunk/stdair/stdair/basic/sources.mk trunk/stdair/stdair/bom/BomChildrenHolderImp.hpp trunk/stdair/stdair/bom/DemandStream.cpp trunk/stdair/stdair/bom/DemandStream.hpp trunk/stdair/stdair/bom/DemandStreamContent.cpp trunk/stdair/stdair/bom/DemandStreamContent.hpp trunk/stdair/stdair/factory/FacBomContent.hpp Added Paths: ----------- trunk/stdair/stdair/basic/CategoricalAttributeLite.hpp trunk/stdair/stdair/basic/ContinuousAttributeLite.hpp trunk/stdair/stdair/basic/DictionaryManager.cpp trunk/stdair/stdair/basic/DictionaryManager.hpp Modified: trunk/stdair/stdair/STDAIR_Types.hpp =================================================================== --- trunk/stdair/stdair/STDAIR_Types.hpp 2010-02-18 19:57:17 UTC (rev 158) +++ trunk/stdair/stdair/STDAIR_Types.hpp 2010-03-10 16:30:22 UTC (rev 159) @@ -417,6 +417,9 @@ /** Probability */ typedef float Probability_T; + /** Dictionary key. */ + typedef unsigned char DictionaryKey_T; + // ////////////////////////////////////////////////////////////////////// // Date / Time /** Time duration in (integer) number of seconds */ Modified: trunk/stdair/stdair/basic/CategoricalAttribute.hpp =================================================================== --- trunk/stdair/stdair/basic/CategoricalAttribute.hpp 2010-02-18 19:57:17 UTC (rev 158) +++ trunk/stdair/stdair/basic/CategoricalAttribute.hpp 2010-03-10 16:30:22 UTC (rev 159) @@ -9,6 +9,7 @@ #include <iosfwd> // STDAIR #include <stdair/STDAIR_Types.hpp> +#include <stdair/basic/DictionaryManager.hpp> namespace stdair { @@ -19,15 +20,15 @@ public: /** Define the probability mass function type. */ - typedef std::map<T, Probability_T> ProbabilityMassFunction_T; + typedef std::map<T, DictionaryKey_T> ProbabilityMassFunction_T; /** Define the inverse cumulative distribution type. */ - typedef std::map<Probability_T, T> InverseCumulativeDistribution_T; + typedef std::map<DictionaryKey_T, T> InverseCumulativeDistribution_T; - public: + private: // ///////////// Getters /////////// /** Get the probability mass function. */ - const std::map<T,Probability_T>& getProbabilityMassFunction() const { + const ProbabilityMassFunction_T& getProbabilityMassFunction() const { return _probabilityMassFunction; } @@ -47,8 +48,10 @@ // /////////////// Business Methods ////////// /** Get value from inverse cumulative distribution. */ const T getValue (Probability_T iCumulativeProbability) const { + const DictionaryKey_T lKey = + DictionaryManager::valueToKey (iCumulativeProbability); return _inverseCumulativeDistribution. - lower_bound (iCumulativeProbability)->second; + lower_bound (lKey)->second; } public: @@ -64,7 +67,8 @@ if (idx != 0) { oStr << ", "; } - oStr << it->first << ":" << it->second; + oStr << it->first << ":" + << DictionaryManager::keyToValue (it->second); } return oStr.str(); @@ -77,7 +81,7 @@ for (typename InverseCumulativeDistribution_T::const_iterator it = _inverseCumulativeDistribution.begin(); it != _inverseCumulativeDistribution.end(); ++it) { - oStr << "cumulative prob: " << it->first + oStr << "cumulative prob: " << DictionaryManager::keyToValue (it->first) << " value: " << it->second << std::endl; } @@ -108,11 +112,15 @@ for (typename ProbabilityMassFunction_T::const_iterator itProbabilityMassFunction = _probabilityMassFunction.begin(); itProbabilityMassFunction != _probabilityMassFunction.end(); ++itProbabilityMassFunction) { - Probability_T attribute_probability_mass = itProbabilityMassFunction->second; + Probability_T attribute_probability_mass = + DictionaryManager::keyToValue (itProbabilityMassFunction->second); if (attribute_probability_mass > 0) { T attribute_value = itProbabilityMassFunction->first; cumulative_probability_so_far += attribute_probability_mass; - _inverseCumulativeDistribution[cumulative_probability_so_far] = attribute_value; + DictionaryKey_T lKey = + DictionaryManager::valueToKey (cumulative_probability_so_far); + //_inverseCumulativeDistribution[lKey] = attribute_value; + _inverseCumulativeDistribution.insert (typename InverseCumulativeDistribution_T::value_type (lKey, attribute_value)); } } } Copied: trunk/stdair/stdair/basic/CategoricalAttributeLite.hpp (from rev 158, trunk/stdair/stdair/basic/CategoricalAttribute.hpp) =================================================================== --- trunk/stdair/stdair/basic/CategoricalAttributeLite.hpp (rev 0) +++ trunk/stdair/stdair/basic/CategoricalAttributeLite.hpp 2010-03-10 16:30:22 UTC (rev 159) @@ -0,0 +1,122 @@ +#ifndef __STDAIR_BAS_CATEGORICALATTRIBUTELITE_HPP +#define __STDAIR_BAS_CATEGORICALATTRIBUTELITE_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STL +#include <map> +#include <iosfwd> +// STDAIR +#include <stdair/STDAIR_Types.hpp> +#include <stdair/basic/DictionaryManager.hpp> +#include <stdair/service/Logger.hpp> + +namespace stdair { + + /** Class modeling the distribution of values that can be taken by a + categorical attribute. */ + template <class T> + struct CategoricalAttributeLite { + public: + /** Define the probability mass function type. */ + typedef std::map<T, Probability_T> ProbabilityMassFunction_T; + + public: + // /////////////// Business Methods ////////// + /** Get value from inverse cumulative distribution. */ + const T getValue (Probability_T iCumulativeProbability) const { + const DictionaryKey_T lKey = + DictionaryManager::valueToKey (iCumulativeProbability); + + for (unsigned int idx = 0; idx < _size; ++idx) { + if (_cumulativeDistribution[idx] >= lKey) { + return _valueArray[idx]; + } + } + + STDAIR_LOG_ERROR ("The following cumulative probability " + << "is out of range: " << iCumulativeProbability); + assert (false); + T t; + return t; + } + + public: + // ////////////// Display Support Methods ////////// + /** Display probability mass function. */ + const std::string displayProbabilityMass () const { + std::ostringstream oStr; + + for (unsigned int idx = 0; idx < _size; ++idx) { + if (idx != 0) { + oStr << ", "; + } + oStr << _valueArray [idx] << ":" + << DictionaryManager::keyToValue (_cumulativeDistribution[idx]); + } + return oStr.str(); + } + + public: + // ////////// Constructors and destructors ///////// + /** Constructor by default */ + CategoricalAttributeLite (const ProbabilityMassFunction_T& iValueMap) + : _size (iValueMap.size()) { + _cumulativeDistribution = new DictionaryKey_T[_size]; + _valueArray = new T[_size]; + init (iValueMap); + } + /** Destructor */ + virtual ~CategoricalAttributeLite () { + // TODO: Verify that the arrays are correctly cleaned. + delete _cumulativeDistribution; _cumulativeDistribution = NULL; + delete _valueArray; _valueArray = NULL; + } + + private: + /** Default constructors. */ + CategoricalAttributeLite (); + CategoricalAttributeLite (const CategoricalAttributeLite&); + + + /** Initialise the two arrays from the given map. */ + void init (const ProbabilityMassFunction_T& iValueMap) { + + Probability_T cumulative_probability_so_far = 0.0; + unsigned int idx = 0; + + // Browse the map to retrieve the values and to build the + // cumulative probabilities. + for (typename ProbabilityMassFunction_T::const_iterator itProbabilityMassFunction = iValueMap.begin(); + itProbabilityMassFunction != iValueMap.end(); + ++itProbabilityMassFunction, ++idx) { + + Probability_T attribute_probability_mass = + itProbabilityMassFunction->second; + if (attribute_probability_mass > 0) { + T attribute_value = itProbabilityMassFunction->first; + cumulative_probability_so_far += attribute_probability_mass; + DictionaryKey_T lKey = + DictionaryManager::valueToKey (cumulative_probability_so_far); + + // Build the two arrays. + _cumulativeDistribution[idx] = lKey; + _valueArray[idx] = attribute_value; + } + } + } + + private: + // ////////// Attributes ////////// + /** Size of the two arrays. */ + const unsigned int _size; + + /** Cumulative dictionary-coded distribution. */ + DictionaryKey_T* _cumulativeDistribution; + + /** The corresponding values. */ + T* _valueArray; + }; +} +#endif // __STDAIR_BAS_CATEGORICALATTRIBUTELITE_HPP Modified: trunk/stdair/stdair/basic/ContinuousAttribute.hpp =================================================================== --- trunk/stdair/stdair/basic/ContinuousAttribute.hpp 2010-02-18 19:57:17 UTC (rev 158) +++ trunk/stdair/stdair/basic/ContinuousAttribute.hpp 2010-03-10 16:30:22 UTC (rev 159) @@ -9,6 +9,7 @@ #include <map> // STDAIR #include <stdair/STDAIR_Types.hpp> +#include <stdair/basic/DictionaryManager.hpp> #include <stdair/service/Logger.hpp> namespace stdair { @@ -21,10 +22,10 @@ // ///////////// Type definitions ////////////// /** */ - typedef std::multimap<T, Probability_T> ContinuousDistribution_T; - typedef std::multimap<Probability_T, T> ContinuousInverseDistribution_T; - - + typedef std::multimap<T, DictionaryKey_T> ContinuousDistribution_T; + typedef std::multimap<DictionaryKey_T, T> ContinuousInverseDistribution_T; + + private: // ///////////// Getters /////////// /** Get the cumulative distribution. */ const ContinuousDistribution_T& getCumulativeDistribution() const { @@ -36,7 +37,7 @@ return _inverseCumulativeDistribution; } - public: + private: // ///////////// Setters /////////// /** Set the cumulative distribution */ void setCumulativeDistribution (const ContinuousDistribution_T& iCumulativeDistribution) { @@ -48,10 +49,13 @@ // /////////////// Business Methods ////////// /** Get value from inverse cumulative distribution. */ const T getValue (const Probability_T& iCumulativeProbability) const { + const DictionaryKey_T lKey = + DictionaryManager::valueToKey (iCumulativeProbability); typename ContinuousInverseDistribution_T::const_iterator it = - _inverseCumulativeDistribution.lower_bound (iCumulativeProbability); + _inverseCumulativeDistribution.lower_bound (lKey); - Probability_T cumulativeProbabilityNextPoint = it->first; + Probability_T cumulativeProbabilityNextPoint = + DictionaryManager::keyToValue (it->first); T valueNextPoint = it->second; if (it == _inverseCumulativeDistribution.begin()) { @@ -60,7 +64,8 @@ } --it; - Probability_T cumulativeProbabilityPreviousPoint = it->first; + Probability_T cumulativeProbabilityPreviousPoint = + DictionaryManager::keyToValue (it->first); T valuePreviousPoint = it->second; if (cumulativeProbabilityNextPoint == cumulativeProbabilityPreviousPoint) { return valuePreviousPoint; @@ -83,7 +88,8 @@ if (idx != 0) { oStr << ", "; } - oStr << it->first << ":" << it->second; + oStr << it->first << ":" + << DictionaryManager::keyToValue (it->second); } return oStr.str(); } @@ -94,7 +100,7 @@ for (typename ContinuousInverseDistribution_T::const_iterator it = _inverseCumulativeDistribution.begin(); it != _inverseCumulativeDistribution.end(); ++it) { - oStr << "cumulative prob: " << it->first + oStr << "cumulative prob: " << DictionaryManager::keyToValue (it->first) << " value: " << it->second << std::endl; } return oStr.str(); Copied: trunk/stdair/stdair/basic/ContinuousAttributeLite.hpp (from rev 158, trunk/stdair/stdair/basic/ContinuousAttribute.hpp) =================================================================== --- trunk/stdair/stdair/basic/ContinuousAttributeLite.hpp (rev 0) +++ trunk/stdair/stdair/basic/ContinuousAttributeLite.hpp 2010-03-10 16:30:22 UTC (rev 159) @@ -0,0 +1,129 @@ +#ifndef __STDAIR_BAS_CONTINUOUSATTRIBUTELITE_HPP +#define __STDAIR_BAS_CONTINUOUSATTRIBUTELITE_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STL +#include <string> +#include <map> +// STDAIR +#include <stdair/STDAIR_Types.hpp> +#include <stdair/basic/DictionaryManager.hpp> +#include <stdair/service/Logger.hpp> + +namespace stdair { + + /** Class modeling the distribution of values that can be taken by a + continuous attribute. */ + template <class T> + struct ContinuousAttributeLite { + public: + // ///////////// Type definitions ////////////// + typedef std::multimap<T, Probability_T> ContinuousDistribution_T; + + public: + // /////////////// Business Methods ////////// + /** Get value from inverse cumulative distribution. */ + const T getValue (const Probability_T& iCumulativeProbability) const { + const DictionaryKey_T lKey = + DictionaryManager::valueToKey (iCumulativeProbability); + unsigned int idx = 0; + + // Find the first cumulative probablity value greater or equal to lKey. + for (; idx < _size; ++idx) { + if (_cumulativeDistribution[idx] >= lKey) { + break; + } + } + + if (idx == 0) { + return _valueArray[idx]; + } + + Probability_T lCumulativeCurrentPoint = + DictionaryManager::keyToValue (_cumulativeDistribution[idx]); + Probability_T lCumulativePreviousPoint = + DictionaryManager::keyToValue (_cumulativeDistribution[idx-1]); + T lValueCurrentPoint = _valueArray[idx]; + T lValuePreviousPoint = _valueArray[idx-1]; + + if (lCumulativePreviousPoint == lCumulativeCurrentPoint) { + return lValuePreviousPoint; + } + + return lValuePreviousPoint + (lValueCurrentPoint - lValuePreviousPoint) + * (iCumulativeProbability - lCumulativePreviousPoint) + / (lCumulativeCurrentPoint - lCumulativePreviousPoint); + } + + public: + // ////////////// Display Support Methods ////////// + /** Display cumulative distribution */ + const std::string displayCumulativeDistribution() const { + std::ostringstream oStr; + + for (unsigned int idx = 0; idx < _size; ++idx) { + if (idx != 0) { + oStr << ", "; + } + oStr << _valueArray[idx] << ":" + << DictionaryManager::keyToValue (_cumulativeDistribution[idx]); + } + return oStr.str(); + } + + public: + // ////////// Constructors and destructors ///////// + /** Constructor */ + ContinuousAttributeLite (const ContinuousDistribution_T& iValueMap) + : _size (iValueMap.size()) { + _cumulativeDistribution = new DictionaryKey_T[_size]; + _valueArray = new T[_size]; + init (iValueMap); + } + + /** Destructor */ + virtual ~ContinuousAttributeLite () { + // TODO: Verify that the arrays are correctly cleaned. + delete _cumulativeDistribution; _cumulativeDistribution = NULL; + delete _valueArray; _valueArray = NULL; + } + + private: + /** Constructors by default */ + ContinuousAttributeLite (); + ContinuousAttributeLite (const ContinuousAttributeLite&); + + /** Determine inverse cumulative distribution from cumulative + distribution (initialisation). */ + void init (const ContinuousDistribution_T& iValueMap) { + unsigned int idx = 0; + + // Browse the map to retrieve the values and cumulative probabilities. + for (typename ContinuousDistribution_T::const_iterator it = + iValueMap.begin(); it != iValueMap.end(); ++it, ++idx) { + + T attributeValue = it->first; + DictionaryKey_T lKey = DictionaryManager::valueToKey (it->second); + + // Build the two arrays. + _cumulativeDistribution[idx] = lKey; + _valueArray[idx] = attributeValue; + } + } + + private: + // ////////// Attributes ////////// + /** Size of the two arrays. */ + const unsigned int _size; + + /** Cumulative dictionary-coded distribution. */ + DictionaryKey_T* _cumulativeDistribution; + + /** The corresponding values. */ + T* _valueArray; + }; + +} +#endif // __STDAIR_BAS_CONTINUOUSATTRIBUTELITE_HPP Modified: trunk/stdair/stdair/basic/DemandCharacteristicTypes.hpp =================================================================== --- trunk/stdair/stdair/basic/DemandCharacteristicTypes.hpp 2010-02-18 19:57:17 UTC (rev 158) +++ trunk/stdair/stdair/basic/DemandCharacteristicTypes.hpp 2010-03-10 16:30:22 UTC (rev 159) @@ -6,95 +6,64 @@ // ////////////////////////////////////////////////////////////////////// // StdAir #include <stdair/STDAIR_Types.hpp> -#include <stdair/basic/ContinuousAttribute.hpp> -#include <stdair/basic/CategoricalAttribute.hpp> +#include <stdair/basic/ContinuousAttributeLite.hpp> +#include <stdair/basic/CategoricalAttributeLite.hpp> namespace stdair { /** Type definition for the continuous distribition of the duration (as a float number). */ - typedef ContinuousAttribute<FloatDuration_T> ContinuousFloatDuration_T; + typedef ContinuousAttributeLite<FloatDuration_T> ContinuousFloatDuration_T; - /** Type definition for the arrival pattern. */ - typedef ContinuousFloatDuration_T::ContinuousDistribution_T ArrivalPattern_T; - /** Type definition for the arrival pattern cumulative distribution. */ - typedef std::multimap<FloatDuration_T, Probability_T> ArrivalPatternCumulativeDistribution_T; + typedef ContinuousFloatDuration_T::ContinuousDistribution_T ArrivalPatternCumulativeDistribution_T; - /** Type definition for the arrival pattern inverse cumulative distribution. */ - typedef std::multimap<Probability_T, FloatDuration_T> ArrivalPatternInverseCumulativeDistribution_T; - /** Define the point-of-sale probablity mass. */ - typedef CategoricalAttribute<AirportCode_T> POSProbabilityMass_T; + typedef CategoricalAttributeLite<AirportCode_T> POSProbabilityMass_T; /** Define the probability mass function type of point-of-sale. */ typedef POSProbabilityMass_T::ProbabilityMassFunction_T POSProbabilityMassFunction_T; - - /** Define the inverse cumulative distribution of point-of-sale. */ - typedef POSProbabilityMass_T::InverseCumulativeDistribution_T POSInverserCumulativeDistribution_T; /** Define the booking channel probablity mass. */ - typedef CategoricalAttribute<ChannelLabel_T> ChannelProbabilityMass_T; + typedef CategoricalAttributeLite<ChannelLabel_T> ChannelProbabilityMass_T; /** Define the probability mass function type of booking channel. */ typedef ChannelProbabilityMass_T::ProbabilityMassFunction_T ChannelProbabilityMassFunction_T; - /** Define the inverse cumulative distribution of channel. */ - typedef ChannelProbabilityMass_T::InverseCumulativeDistribution_T ChannelInverserCumulativeDistribution_T; - /** Define the trip type probablity mass. */ - typedef CategoricalAttribute<TripType_T> TripTypeProbabilityMass_T; + typedef CategoricalAttributeLite<TripType_T> TripTypeProbabilityMass_T; /** Define the probability mass function type of trip type. */ typedef TripTypeProbabilityMass_T::ProbabilityMassFunction_T TripTypeProbabilityMassFunction_T; - - /** Define the inverse cumulative distribution of trip type. */ - typedef TripTypeProbabilityMass_T::InverseCumulativeDistribution_T TripTypeInverserCumulativeDistribution_T; /** Define the stay duration probablity mass. */ - typedef CategoricalAttribute<DayDuration_T> StayDurationProbabilityMass_T; + typedef CategoricalAttributeLite<DayDuration_T> StayDurationProbabilityMass_T; /** Define the probability mass function type of stay duration. */ typedef StayDurationProbabilityMass_T::ProbabilityMassFunction_T StayDurationProbabilityMassFunction_T; - /** Define the inverse cumulative distribution of stay duration. */ - typedef StayDurationProbabilityMass_T::InverseCumulativeDistribution_T StayDurationInverserCumulativeDistribution_T; - /** Define the frequent flyer probablity mass. */ - typedef CategoricalAttribute<FrequentFlyer_T> FrequentFlyerProbabilityMass_T; + typedef CategoricalAttributeLite<FrequentFlyer_T> FrequentFlyerProbabilityMass_T; /** Define the probability mass function type of frequent flyer. */ typedef FrequentFlyerProbabilityMass_T::ProbabilityMassFunction_T FrequentFlyerProbabilityMassFunction_T; - /** Define the inverse cumulative distribution of frequent flyer. */ - typedef FrequentFlyerProbabilityMass_T::InverseCumulativeDistribution_T FrequentFlyerInverserCumulativeDistribution_T; - /** Define the preferred departure time cumulative distribution. */ - typedef ContinuousAttribute<IntDuration_T> PreferredDepartureTimeCumulativeDistribution_T; + typedef ContinuousAttributeLite<IntDuration_T> PreferredDepartureTimeCumulativeDistribution_T; /** Define the preferred departure time continuous distribution. */ typedef PreferredDepartureTimeCumulativeDistribution_T::ContinuousDistribution_T PreferredDepartureTimeContinuousDistribution_T; - /** Define the preferred departure time continuous inverse distribution. */ - typedef PreferredDepartureTimeCumulativeDistribution_T::ContinuousInverseDistribution_T PreferredDepartureTimeContinuousInverseDistribution_T; - /** Define the willingness-to-pay cumulative distribution. */ - typedef ContinuousAttribute<WTP_T> WTPCumulativeDistribution_T; + typedef ContinuousAttributeLite<WTP_T> WTPCumulativeDistribution_T; /** Define the willingness-to-pay continuous distribution. */ typedef WTPCumulativeDistribution_T::ContinuousDistribution_T WTPContinuousDistribution_T; - /** Define the willingness-to-pay continuous inverse distribution. */ - typedef WTPCumulativeDistribution_T::ContinuousInverseDistribution_T WTPContinuousInverseDistribution_T; - /** Define the value of time cumulative distribution. */ - typedef ContinuousAttribute<PriceValue_T> ValueOfTimeCumulativeDistribution_T; + typedef ContinuousAttributeLite<PriceValue_T> ValueOfTimeCumulativeDistribution_T; /** Define the value of time continuous distribution. */ typedef ValueOfTimeCumulativeDistribution_T::ContinuousDistribution_T ValueOfTimeContinuousDistribution_T; - - /** Define the value of time continuous inverse distribution. */ - typedef ValueOfTimeCumulativeDistribution_T::ContinuousInverseDistribution_T ValueOfTimeContinuousInverseDistribution_T; - } #endif // __STDAIR_BAS_DEMANDCHARACTERISTICTYPES_HPP Modified: trunk/stdair/stdair/basic/DemandCharacteristics.cpp =================================================================== --- trunk/stdair/stdair/basic/DemandCharacteristics.cpp 2010-02-18 19:57:17 UTC (rev 158) +++ trunk/stdair/stdair/basic/DemandCharacteristics.cpp 2010-03-10 16:30:22 UTC (rev 159) @@ -14,51 +14,31 @@ // ///////////////////////////////////////////////////// DemandCharacteristics:: DemandCharacteristics (const DemandStreamKey_T& iKey, - const ContinuousFloatDuration_T& iArrivalPattern, - const POSProbabilityMass_T& iPOSProbMass, - const ChannelProbabilityMass_T& iChannelProbMass, - const TripTypeProbabilityMass_T& iTripTypeProbMass, - const StayDurationProbabilityMass_T& iStayDurationProbMass, - const FrequentFlyerProbabilityMass_T& iFrequentFlyerProbMass, - const PreferredDepartureTimeCumulativeDistribution_T& iPreferredDepartureTimeCumulativeDistribution, - const WTPCumulativeDistribution_T& iWTPCumulativeDistribution, - const ValueOfTimeCumulativeDistribution_T& iValueOfTimeCumulativeDistribution) + const ArrivalPatternCumulativeDistribution_T& iArrivalPattern, + const POSProbabilityMassFunction_T& iPOSProbMass, + const ChannelProbabilityMassFunction_T& iChannelProbMass, + const TripTypeProbabilityMassFunction_T& iTripTypeProbMass, + const StayDurationProbabilityMassFunction_T& iStayDurationProbMass, + const FrequentFlyerProbabilityMassFunction_T& iFrequentFlyerProbMass, + const PreferredDepartureTimeContinuousDistribution_T& iPreferredDepartureTimeContinuousDistribution, + const WTPContinuousDistribution_T& iWTPContinuousDistribution, + const ValueOfTimeContinuousDistribution_T& iValueOfTimeContinuousDistribution) : _key (iKey), _arrivalPattern (iArrivalPattern), _posProbabilityMass (iPOSProbMass), _channelProbabilityMass (iChannelProbMass), _tripTypeProbabilityMass (iTripTypeProbMass), _stayDurationProbabilityMass (iStayDurationProbMass), _frequentFlyerProbabilityMass (iFrequentFlyerProbMass), - _preferredDepartureTimeCumulativeDistribution (iPreferredDepartureTimeCumulativeDistribution), - _wtpCumulativeDistribution (iWTPCumulativeDistribution), - _valueOfTimeCumulativeDistribution (iValueOfTimeCumulativeDistribution) { + _preferredDepartureTimeCumulativeDistribution (iPreferredDepartureTimeContinuousDistribution), + _wtpCumulativeDistribution (iWTPContinuousDistribution), + _valueOfTimeCumulativeDistribution (iValueOfTimeContinuousDistribution) { } - + // ///////////////////////////////////////////////////// - DemandCharacteristics::DemandCharacteristics () - : _key (DemandStreamKey_T ("", "", DEFAULT_DATE, "")) { - } - - // ///////////////////////////////////////////////////// DemandCharacteristics::~DemandCharacteristics () { } // ///////////////////////////////////////////////////// - DemandCharacteristics:: - DemandCharacteristics (const DemandCharacteristics& iDemandCharacteristics) - : _key (iDemandCharacteristics._key), - _arrivalPattern (iDemandCharacteristics._arrivalPattern), - _posProbabilityMass (iDemandCharacteristics._posProbabilityMass), - _channelProbabilityMass (iDemandCharacteristics._channelProbabilityMass), - _tripTypeProbabilityMass (iDemandCharacteristics._tripTypeProbabilityMass), - _stayDurationProbabilityMass (iDemandCharacteristics._stayDurationProbabilityMass), - _frequentFlyerProbabilityMass (iDemandCharacteristics._frequentFlyerProbabilityMass), - _preferredDepartureTimeCumulativeDistribution (iDemandCharacteristics._preferredDepartureTimeCumulativeDistribution), - _wtpCumulativeDistribution (iDemandCharacteristics._wtpCumulativeDistribution), - _valueOfTimeCumulativeDistribution (iDemandCharacteristics._valueOfTimeCumulativeDistribution) { - } - - // ///////////////////////////////////////////////////// const AirportCode_T& DemandCharacteristics::getOrigin() const { return _key.getOrigin(); } @@ -96,19 +76,19 @@ oStr << "Arrival pattern (days from departure, proportion): "; oStr << _arrivalPattern.displayCumulativeDistribution() << std::endl; oStr << "POS probability mass (POS, propotion): "; - oStr << _posProbabilityMass.displayProbabilityMassFunction() + oStr << _posProbabilityMass.displayProbabilityMass() << std::endl; oStr << "Channel probability mass (channel, propotion): "; - oStr << _channelProbabilityMass.displayProbabilityMassFunction() + oStr << _channelProbabilityMass.displayProbabilityMass() << std::endl; oStr << "Trip type probability mass (trip type, propotion): "; - oStr << _tripTypeProbabilityMass.displayProbabilityMassFunction() + oStr << _tripTypeProbabilityMass.displayProbabilityMass() << std::endl; oStr << "Stay duration probability mass (number of days, propotion): "; - oStr << _stayDurationProbabilityMass.displayProbabilityMassFunction() + oStr << _stayDurationProbabilityMass.displayProbabilityMass() << std::endl; oStr << "Frequent flyer probability mass (frequent flyer, propotion): "; - oStr << _frequentFlyerProbabilityMass.displayProbabilityMassFunction() + oStr << _frequentFlyerProbabilityMass.displayProbabilityMass() << std::endl; oStr << "Preferred departure time cumulative distribution (time, proportion: "; oStr << _preferredDepartureTimeCumulativeDistribution.displayCumulativeDistribution() << std::endl; Modified: trunk/stdair/stdair/basic/DemandCharacteristics.hpp =================================================================== --- trunk/stdair/stdair/basic/DemandCharacteristics.hpp 2010-02-18 19:57:17 UTC (rev 158) +++ trunk/stdair/stdair/basic/DemandCharacteristics.hpp 2010-03-10 16:30:22 UTC (rev 159) @@ -90,28 +90,25 @@ // ////////// Constructors and destructors ///////// /** Default constructor. */ DemandCharacteristics (const DemandStreamKey_T&, - const ContinuousFloatDuration_T&, - const POSProbabilityMass_T&, - const ChannelProbabilityMass_T&, - const TripTypeProbabilityMass_T&, - const StayDurationProbabilityMass_T&, - const FrequentFlyerProbabilityMass_T&, - const PreferredDepartureTimeCumulativeDistribution_T&, - const WTPCumulativeDistribution_T&, - const ValueOfTimeCumulativeDistribution_T&); + const ArrivalPatternCumulativeDistribution_T&, + const POSProbabilityMassFunction_T&, + const ChannelProbabilityMassFunction_T&, + const TripTypeProbabilityMassFunction_T&, + const StayDurationProbabilityMassFunction_T&, + const FrequentFlyerProbabilityMassFunction_T&, + const PreferredDepartureTimeContinuousDistribution_T&, + const WTPContinuousDistribution_T&, + const ValueOfTimeContinuousDistribution_T&); + /** Destructor */ + virtual ~DemandCharacteristics (); + + private: /** Default constructor. */ - // TODO: That copy constructor should be private DemandCharacteristics (); - /** Copy constructor. */ - // TODO: That copy constructor should be private DemandCharacteristics (const DemandCharacteristics&); - /** Destructor */ - virtual ~DemandCharacteristics (); - - private: // //////////////////// Attributes ///////////////////// /** DemandStream Key */ Added: trunk/stdair/stdair/basic/DictionaryManager.cpp =================================================================== --- trunk/stdair/stdair/basic/DictionaryManager.cpp (rev 0) +++ trunk/stdair/stdair/basic/DictionaryManager.cpp 2010-03-10 16:30:22 UTC (rev 159) @@ -0,0 +1,21 @@ +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STDAIR +#include <stdair/basic/DictionaryManager.hpp> + +namespace stdair { + // //////////////////////////////////////////////////////////////////// + const Probability_T DictionaryManager::keyToValue(const DictionaryKey_T iKey) { + return static_cast<Probability_T>(iKey) / 200; + } + + // //////////////////////////////////////////////////////////////////// + const DictionaryKey_T DictionaryManager:: + valueToKey (const Probability_T iValue) { + return iValue * 200; + } + + // DEBUG + unsigned int COUNT = 0; +} Added: trunk/stdair/stdair/basic/DictionaryManager.hpp =================================================================== --- trunk/stdair/stdair/basic/DictionaryManager.hpp (rev 0) +++ trunk/stdair/stdair/basic/DictionaryManager.hpp 2010-03-10 16:30:22 UTC (rev 159) @@ -0,0 +1,25 @@ +// ////////////////////////////////////////////////////////////////////// +#ifndef __STDAIR_BOM_DICTIONARYMANAGER_HPP +#define __STDAIR_BOM_DICTIONARYMANAGER_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STDAIR +#include <stdair/STDAIR_Types.hpp> + +namespace stdair { + + /** Class wrapper of dictionary business methods. */ + class DictionaryManager { + public: + // //////////// Business methods ///////////////// + /** Convert from key to value. */ + static const Probability_T keyToValue (const DictionaryKey_T); + + /** Convert from value to key. */ + static const DictionaryKey_T valueToKey (const Probability_T); + + }; +} +#endif // __STDAIR_BOM_DICTIONARYMANAGER_HPP Modified: trunk/stdair/stdair/basic/sources.mk =================================================================== --- trunk/stdair/stdair/basic/sources.mk 2010-02-18 19:57:17 UTC (rev 158) +++ trunk/stdair/stdair/basic/sources.mk 2010-03-10 16:30:22 UTC (rev 159) @@ -16,11 +16,14 @@ $(top_srcdir)/stdair/basic/PassengerType.hpp \ $(top_srcdir)/stdair/basic/ContinuousAttribute.hpp \ $(top_srcdir)/stdair/basic/CategoricalAttribute.hpp \ + $(top_srcdir)/stdair/basic/ContinuousAttributeLite.hpp \ + $(top_srcdir)/stdair/basic/CategoricalAttributeLite.hpp \ $(top_srcdir)/stdair/basic/DemandCharacteristicTypes.hpp \ $(top_srcdir)/stdair/basic/DemandCharacteristics.hpp \ $(top_srcdir)/stdair/basic/DemandDistribution.hpp \ $(top_srcdir)/stdair/basic/RandomGeneration.hpp \ - $(top_srcdir)/stdair/basic/RandomGenerationContext.hpp + $(top_srcdir)/stdair/basic/RandomGenerationContext.hpp \ + $(top_srcdir)/stdair/basic/DictionaryManager.hpp bas_cc_sources = \ $(top_srcdir)/stdair/basic/BasConst.cpp \ $(top_srcdir)/stdair/basic/BasChronometer.cpp \ @@ -31,4 +34,5 @@ $(top_srcdir)/stdair/basic/DemandCharacteristics.cpp \ $(top_srcdir)/stdair/basic/DemandDistribution.cpp \ $(top_srcdir)/stdair/basic/RandomGeneration.cpp \ - $(top_srcdir)/stdair/basic/RandomGenerationContext.cpp + $(top_srcdir)/stdair/basic/RandomGenerationContext.cpp \ + $(top_srcdir)/stdair/basic/DictionaryManager.cpp Modified: trunk/stdair/stdair/bom/BomChildrenHolderImp.hpp =================================================================== --- trunk/stdair/stdair/bom/BomChildrenHolderImp.hpp 2010-02-18 19:57:17 UTC (rev 158) +++ trunk/stdair/stdair/bom/BomChildrenHolderImp.hpp 2010-03-10 16:30:22 UTC (rev 159) @@ -114,7 +114,7 @@ // /////////// Other operators ///////////// /** Get the size of the list. */ const unsigned int size () const { - return _bomChildrenList.size(); + return _bomChildrenMap.size(); } /** Retrieve, if existing, the bom corresponding to the given key. */ Modified: trunk/stdair/stdair/bom/DemandStream.cpp =================================================================== --- trunk/stdair/stdair/bom/DemandStream.cpp 2010-02-18 19:57:17 UTC (rev 158) +++ trunk/stdair/stdair/bom/DemandStream.cpp 2010-03-10 16:30:22 UTC (rev 159) @@ -24,13 +24,26 @@ // ////////////////////////////////////////////////////////////////////// DemandStream:: DemandStream (const DemandStreamKey_T& iKey, - const DemandCharacteristics& iDemandCharacteristics, + const ArrivalPatternCumulativeDistribution_T& iArrivalPattern, + const POSProbabilityMassFunction_T& iPOSProbMass, + const ChannelProbabilityMassFunction_T& iChannelProbMass, + const TripTypeProbabilityMassFunction_T& iTripTypeProbMass, + const StayDurationProbabilityMassFunction_T& iStayDurationProbMass, + const FrequentFlyerProbabilityMassFunction_T& iFrequentFlyerProbMass, + const PreferredDepartureTimeContinuousDistribution_T& iPreferredDepartureTimeContinuousDistribution, + const WTPContinuousDistribution_T& iWTPContinuousDistribution, + const ValueOfTimeContinuousDistribution_T& iValueOfTimeContinuousDistribution, const DemandDistribution& iDemandDistribution, const RandomSeed_T& iNumberOfRequestsSeed, const RandomSeed_T& iRequestDateTimeSeed, const RandomSeed_T& iDemandCharacteristicsSeed, BomStructure_T& ioDemandStreamStructure) - : DemandStreamContent (iKey, iDemandCharacteristics, + : DemandStreamContent (iKey, iArrivalPattern, iPOSProbMass, + iChannelProbMass, iTripTypeProbMass, + iStayDurationProbMass, iFrequentFlyerProbMass, + iPreferredDepartureTimeContinuousDistribution, + iWTPContinuousDistribution, + iValueOfTimeContinuousDistribution, iDemandDistribution, iNumberOfRequestsSeed, iRequestDateTimeSeed, iDemandCharacteristicsSeed), _demandStreamStructure (ioDemandStreamStructure) { Modified: trunk/stdair/stdair/bom/DemandStream.hpp =================================================================== --- trunk/stdair/stdair/bom/DemandStream.hpp 2010-02-18 19:57:17 UTC (rev 158) +++ trunk/stdair/stdair/bom/DemandStream.hpp 2010-03-10 16:30:22 UTC (rev 159) @@ -72,7 +72,16 @@ protected: // ////////// Constructors and destructors ///////// /** Constructor by default */ - DemandStream (const BomKey_T&, const DemandCharacteristics&, + DemandStream (const BomKey_T&, + const ArrivalPatternCumulativeDistribution_T&, + const POSProbabilityMassFunction_T&, + const ChannelProbabilityMassFunction_T&, + const TripTypeProbabilityMassFunction_T&, + const StayDurationProbabilityMassFunction_T&, + const FrequentFlyerProbabilityMassFunction_T&, + const PreferredDepartureTimeContinuousDistribution_T&, + const WTPContinuousDistribution_T&, + const ValueOfTimeContinuousDistribution_T&, const DemandDistribution&, const RandomSeed_T& iNumberOfRequestsSeed, const RandomSeed_T& iRequestDateTimeSeed, Modified: trunk/stdair/stdair/bom/DemandStreamContent.cpp =================================================================== --- trunk/stdair/stdair/bom/DemandStreamContent.cpp 2010-02-18 19:57:17 UTC (rev 158) +++ trunk/stdair/stdair/bom/DemandStreamContent.cpp 2010-03-10 16:30:22 UTC (rev 159) @@ -21,13 +21,26 @@ // ////////////////////////////////////////////////////////////////////// DemandStreamContent:: DemandStreamContent (const BomKey_T& iKey, - const DemandCharacteristics& iDemandCharacteristics, + const ArrivalPatternCumulativeDistribution_T& iArrivalPattern, + const POSProbabilityMassFunction_T& iPOSProbMass, + const ChannelProbabilityMassFunction_T& iChannelProbMass, + const TripTypeProbabilityMassFunction_T& iTripTypeProbMass, + const StayDurationProbabilityMassFunction_T& iStayDurationProbMass, + const FrequentFlyerProbabilityMassFunction_T& iFrequentFlyerProbMass, + const PreferredDepartureTimeContinuousDistribution_T& iPreferredDepartureTimeContinuousDistribution, + const WTPContinuousDistribution_T& iWTPContinuousDistribution, + const ValueOfTimeContinuousDistribution_T& iValueOfTimeContinuousDistribution, const DemandDistribution& iDemandDistribution, const RandomSeed_T& iNumberOfRequestsSeed, const RandomSeed_T& iRequestDateTimeSeed, const RandomSeed_T& iDemandCharacteristicsSeed) : _key (iKey), - _demandCharacteristics (iDemandCharacteristics), + _demandCharacteristics (iKey, iArrivalPattern, iPOSProbMass, + iChannelProbMass, iTripTypeProbMass, + iStayDurationProbMass, iFrequentFlyerProbMass, + iPreferredDepartureTimeContinuousDistribution, + iWTPContinuousDistribution, + iValueOfTimeContinuousDistribution), _demandDistribution (iDemandDistribution), _totalNumberOfRequestsToBeGenerated (0), _numberOfRequestsRandomGenerator (iNumberOfRequestsSeed), Modified: trunk/stdair/stdair/bom/DemandStreamContent.hpp =================================================================== --- trunk/stdair/stdair/bom/DemandStreamContent.hpp 2010-02-18 19:57:17 UTC (rev 158) +++ trunk/stdair/stdair/bom/DemandStreamContent.hpp 2010-03-10 16:30:22 UTC (rev 159) @@ -237,11 +237,20 @@ protected: // ////////// Constructors and destructors ///////// /** Constructor by default */ - DemandStreamContent (const BomKey_T&, const DemandCharacteristics&, - const DemandDistribution&, - const RandomSeed_T& iNumberOfRequestsSeed, - const RandomSeed_T& iRequestDateTimeSeed, - const RandomSeed_T& iDemandCharacteristicsSeed); + DemandStreamContent (const BomKey_T&, + const ArrivalPatternCumulativeDistribution_T&, + const POSProbabilityMassFunction_T&, + const ChannelProbabilityMassFunction_T&, + const TripTypeProbabilityMassFunction_T&, + const StayDurationProbabilityMassFunction_T&, + const FrequentFlyerProbabilityMassFunction_T&, + const PreferredDepartureTimeContinuousDistribution_T&, + const WTPContinuousDistribution_T&, + const ValueOfTimeContinuousDistribution_T&, + const DemandDistribution&, + const RandomSeed_T& iNumberOfRequestsSeed, + const RandomSeed_T& iRequestDateTimeSeed, + const RandomSeed_T& iDemandCharacteristicsSeed); /** Default constructors. */ DemandStreamContent (); DemandStreamContent (const DemandStreamContent&); Modified: trunk/stdair/stdair/factory/FacBomContent.hpp =================================================================== --- trunk/stdair/stdair/factory/FacBomContent.hpp 2010-02-18 19:57:17 UTC (rev 158) +++ trunk/stdair/stdair/factory/FacBomContent.hpp 2010-03-10 16:30:22 UTC (rev 159) @@ -11,6 +11,7 @@ // STDAIR #include <stdair/STDAIR_Types.hpp> #include <stdair/basic/BasConst_Inventory.hpp> +#include <stdair/basic/DemandCharacteristicTypes.hpp> #include <stdair/bom/BomStructure.hpp> #include <stdair/factory/FacBomStructure.hpp> @@ -202,7 +203,15 @@ // ////////////////////////////////////////////////////////////////// template <typename DEMAND_STREAM> DEMAND_STREAM& create (const DemandStreamKey_T& iKey, - const DemandCharacteristics& iDemandCharacteristics, + const ArrivalPatternCumulativeDistribution_T& iArrivalPattern, + const POSProbabilityMassFunction_T& iPOSProbMass, + const ChannelProbabilityMassFunction_T& iChannelProbMass, + const TripTypeProbabilityMassFunction_T& iTripTypeProbMass, + const StayDurationProbabilityMassFunction_T& iStayDurationProbMass, + const FrequentFlyerProbabilityMassFunction_T& iFrequentFlyerProbMass, + const PreferredDepartureTimeContinuousDistribution_T& iPreferredDepartureTimeContinuousDistribution, + const WTPContinuousDistribution_T& iWTPContinuousDistribution, + const ValueOfTimeContinuousDistribution_T& iValueOfTimeContinuousDistribution, const DemandDistribution& iDemandDistribution, const RandomSeed_T& iNumberOfRequestsSeed, const RandomSeed_T& iRequestDateTimeSeed, @@ -213,7 +222,13 @@ FacBomStructure::instance().create<DEMAND_STREAM_STRUCTURE_T> (); DEMAND_STREAM* aDemandStream_ptr = - new DEMAND_STREAM (iKey, iDemandCharacteristics, iDemandDistribution, + new DEMAND_STREAM (iKey, iArrivalPattern, iPOSProbMass, + iChannelProbMass, iTripTypeProbMass, + iStayDurationProbMass, iFrequentFlyerProbMass, + iPreferredDepartureTimeContinuousDistribution, + iWTPContinuousDistribution, + iValueOfTimeContinuousDistribution, + iDemandDistribution, iNumberOfRequestsSeed, iRequestDateTimeSeed, iDemandCharacteristicsSeed, lBomStructure); assert (aDemandStream_ptr != NULL); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-02-18 19:57:23
|
Revision: 158 http://stdair.svn.sourceforge.net/stdair/?rev=158&view=rev Author: denis_arnaud Date: 2010-02-18 19:57:17 +0000 (Thu, 18 Feb 2010) Log Message: ----------- [Dev] Just improved a little bit the pretty print function for the segment-dates. Modified Paths: -------------- trunk/stdair/stdair/bom/BomManager.cpp trunk/stdair/stdair/bom/BomManager.hpp Modified: trunk/stdair/stdair/bom/BomManager.cpp =================================================================== --- trunk/stdair/stdair/bom/BomManager.cpp 2010-02-18 18:28:42 UTC (rev 157) +++ trunk/stdair/stdair/bom/BomManager.cpp 2010-02-18 19:57:17 UTC (rev 158) @@ -115,21 +115,11 @@ csvBPVDisplay (oStream, iFlightDate); // Display the segment-cabins - // csvSegmentCabinDisplay (oStream, iFlightDate); + csvSegmentCabinDisplay (oStream, iFlightDate); // Display the booking classes // csvClassDisplay (oStream, iFlightDate); - // Browse the SegmentDate objects - const SegmentDateList_T& lSDList = iFlightDate.getSegmentDateList(); - for (SegmentDateList_T::iterator itSD = lSDList.begin(); - itSD != lSDList.end(); ++itSD) { - const SegmentDate& lCurrentSD = *itSD; - - // Call recursively the display() method on the children objects - display (oStream, lCurrentSD); - } - // Reset formatting flags of the given output stream oStream.flags (oldFlags); } @@ -266,24 +256,51 @@ } // ////////////////////////////////////////////////////////////////////// - void BomManager::display (std::ostream& oStream, - const SegmentDate& iSegmentDate) { + void BomManager::csvSegmentCabinDisplay (std::ostream& oStream, + const FlightDate& iFlightDate) { // Store current formatting flags of the given output stream std::ios::fmtflags oldFlags = oStream.flags(); - // Segment-date level - oStream << iSegmentDate.describeKey() << std::endl; + // Display the header + oStream << "******************************************" << std::endl; + oStream << "SegmentCabins:" << std::endl + << "--------------" << std::endl; + oStream << "Segment, Cabin, Dates, Times, Dist, SS, Rev, Fare, URev, RPK, " + << std::endl; - // Browse the SegmentCabin objects - const SegmentCabinList_T& lSCList = iSegmentDate.getSegmentCabinList(); - for (SegmentCabinList_T::iterator itSC = lSCList.begin(); - itSC != lSCList.end(); ++itSC) { - const SegmentCabin& lCurrentSC = *itSC; + // Browse the SegmentDate objects + const SegmentDateList_T& lSDList = iFlightDate.getSegmentDateList(); + for (SegmentDateList_T::iterator itSD = lSDList.begin(); + itSD != lSDList.end(); ++itSD) { + const SegmentDate& lCurrentSD = *itSD; + + // Browse the SegmentCabin objects + const SegmentCabinList_T& lSCList = lCurrentSD.getSegmentCabinList(); + for (SegmentCabinList_T::iterator itSC = lSCList.begin(); + itSC != lSCList.end(); ++itSC) { + const SegmentCabin& lCurrentSC = *itSC; + + oStream << lCurrentSD.getBoardingPoint() << "-" + << lCurrentSD.getOffPoint() << ", " + << lCurrentSC.getCabinCode() << ", " + << lCurrentSD.getBoardingDate() << " -> " + << lCurrentSD.getOffDate() << " / " + << lCurrentSD.getDateOffSet() << ", " + << lCurrentSD.getBoardingTime() << " -> " + << lCurrentSD.getOffTime() << " (" + << lCurrentSD.getTimeOffSet() << ") / " + << lCurrentSD.getElapsedTime() << ", " + << lCurrentSD.getDistance() << ", " + << lCurrentSD.getBookingCounter() << ", " + << lCurrentSD.getRevenue() << ", " + << lCurrentSD.getAverageFare() << ", " + << lCurrentSD.getUnitRevenue() << ", " + << lCurrentSD.getRPK() << ", " + << std::endl; + } + } + oStream << "******************************************" << std::endl; - // Call recursively the display() method on the children objects - display (oStream, lCurrentSC); - } - // Reset formatting flags of the given output stream oStream.flags (oldFlags); } Modified: trunk/stdair/stdair/bom/BomManager.hpp =================================================================== --- trunk/stdair/stdair/bom/BomManager.hpp 2010-02-18 18:28:42 UTC (rev 157) +++ trunk/stdair/stdair/bom/BomManager.hpp 2010-02-18 19:57:17 UTC (rev 158) @@ -76,7 +76,7 @@ @param std::ostream& Output stream in which the BOM tree should be logged/dumped. @param const SegmentDate& Root of the BOM tree to be displayed. */ - static void display (std::ostream&, const SegmentDate&); + static void csvSegmentCabinDisplay (std::ostream&, const FlightDate&); /** Recursively display (dump in the underlying output log stream) the objects of the given BOM tree. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-02-18 18:28:48
|
Revision: 157 http://stdair.svn.sourceforge.net/stdair/?rev=157&view=rev Author: denis_arnaud Date: 2010-02-18 18:28:42 +0000 (Thu, 18 Feb 2010) Log Message: ----------- [Dev] Added a few display methods (it may be improved easily). Modified Paths: -------------- trunk/stdair/stdair/bom/TravelSolutionStruct.cpp trunk/stdair/stdair/bom/TravelSolutionStruct.hpp Modified: trunk/stdair/stdair/bom/TravelSolutionStruct.cpp =================================================================== --- trunk/stdair/stdair/bom/TravelSolutionStruct.cpp 2010-02-18 16:49:09 UTC (rev 156) +++ trunk/stdair/stdair/bom/TravelSolutionStruct.cpp 2010-02-18 18:28:42 UTC (rev 157) @@ -7,6 +7,7 @@ #include <ostream> #include <sstream> // StdAir +#include <stdair/bom/OutboundPath.hpp> #include <stdair/bom/TravelSolutionStruct.hpp> namespace stdair { @@ -53,7 +54,30 @@ // ////////////////////////////////////////////////////////////////////// const std::string TravelSolutionStruct::describe() const { - return ""; + std::ostringstream oStr; + if (_outboundPath_ptr != NULL) { + oStr << *_outboundPath_ptr; + } + + return oStr.str(); } + // ////////////////////////////////////////////////////////////////////// + const std::string TravelSolutionStruct::describeKey() const { + std::string oString; + if (_outboundPath_ptr != NULL) { + oString = _outboundPath_ptr->describeKey(); + } + return oString; + } + + // ////////////////////////////////////////////////////////////////////// + const std::string TravelSolutionStruct::describeShortKey() const { + std::string oString; + if (_outboundPath_ptr != NULL) { + oString = _outboundPath_ptr->describeShortKey(); + } + return oString; + } + } Modified: trunk/stdair/stdair/bom/TravelSolutionStruct.hpp =================================================================== --- trunk/stdair/stdair/bom/TravelSolutionStruct.hpp 2010-02-18 16:49:09 UTC (rev 156) +++ trunk/stdair/stdair/bom/TravelSolutionStruct.hpp 2010-02-18 18:28:42 UTC (rev 157) @@ -42,6 +42,14 @@ /** Display of the structure. */ const std::string describe() const; + /** Get a string describing the whole key (differentiating two objects + at any level). */ + const std::string describeKey() const; + + /** Get a string describing the short key (differentiating two objects + at the same level). */ + const std::string describeShortKey() const; + public: // //////////// Constructors & Destructor /////////////// This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-02-18 16:49:15
|
Revision: 156 http://stdair.svn.sourceforge.net/stdair/?rev=156&view=rev Author: denis_arnaud Date: 2010-02-18 16:49:09 +0000 (Thu, 18 Feb 2010) Log Message: ----------- [AirInv] Added a suggestion for Inventory snapshot formatting. Added Paths: ----------- trunk/stdair/test/samples/README_airinv.txt Added: trunk/stdair/test/samples/README_airinv.txt =================================================================== --- trunk/stdair/test/samples/README_airinv.txt (rev 0) +++ trunk/stdair/test/samples/README_airinv.txt 2010-02-18 16:49:09 UTC (rev 156) @@ -0,0 +1,24 @@ + # --------------- CSV columns ------------------- + # DataExtractionDate/Flight-Date + # Flight-Date ==> AirlineCode/FlightNumber/FlightDate/[Leg]/[Segments] + + # Leg ==> BoardPoint;OffPoint;DepartureDate;DepartureTime;[Leg-Cabins] + # Segment ==> BoardPoint;OffPoint;[Segment-Cabins] + + # Leg-Cabin ==> CabinCode,SaleableCapacity,AuthorizationLevel,BookingsCounter,NetAvailability,GrossAvailability,ExpectedToBoard,[Buckets] + # Segment-Cabin ==> CabinCode,BookingsCounter,[Segment-Cabin-Classes] + + # Bucket ==> BidPrice:BPV Availability:SeatIndex + # Segment-Cabin-Class ==> ClassCode|[Segment-Cabin-Class-Subclasses] + # Segment-Cabin-Class-Subclass ==> SubclassNumericId:MaxControl:NettedProtection:NetClassAvailability:SegmentAvailability:NetRevenueAvailability + # ------------------------------------------------- + + +1. without extracting BUC + +161109/AY/5/121109/INT/HEL;JFK;121109;1410;121109;1555;J,42,42,0,24,18,18,0,24;Y,229,236,0,211,8,15,0,221/HEL;JFK;J,24,J|0:42:5:18:18:0,C|0:37:5:14:14:0,D|0:32:7:10:10:0,I|0:25:17:5:5:0,F|0:8:4:0:0:0,U|0:4:4:0:0:0;Y,211,Y|0:234:5:15:15:0,B|0:229:2:15:15:0,H|0:227:2:15:15:0,K|0:225:4:15:15:0,M|0:221:8:15:15:0,P|0:213:3:12:12:0,T|0:210:4:9:9:0,L|0:200:7:3:3:0,V|0:206:6:6:6:0,S|0:188:4:0:0:0,N|0:193:5:0:0:0,Q|0:184:16:0:0:0,O|0:168:19:0:0:0,Z|0:149:46:0:0:0,R|0:103:93:0:0:0,G|0:5:0:0:0:0,W|0:10:1:0:0:0,X|0:9:4:0:0:0,E|0:5:5:0:0:0,A|0:5:0:0:0:0 + +2. with BUC + +161109/AY/5/121109/INT/HEL;JFK;121109;1410;121109;1555;J,42,42,0,24,18,18,0,24,9:-23:42,11:-22:41,13:-21:40,15:-20:39,16:-19:38,18:-18:37,20:-17:36,21:-16:35,23:-15:34,25:-14:33,27:-13:32,28:-12:31,30:-11:30,32:-10:29,33:-9:28,35:-8:27,37:-7:26,39:-6:25,40:-5:24,42:-4:23,44:-3:22,45:-2:21,47:-1:20,49:0:19,50:1:18,275:2:17,500:3:16,725:4:15,950:5:14,980:6:13,1010:7:12,1040:8:11,1070:9:10,1100:10:9,1175:11:8,1250:12:7,1325:13:6,1400:14:5,1475:15:4,1550:16:3,1625:17:2,1700:18:1;Y,229,236,0,211,8,15,0,221,37:-220:236,37:-219:235,37:-218:234,39:-217:233,40:-216:232,42:-215:231,43:-214:230,45:-213:229,46:-212:228,48:-211:227,49:-210:226,51:-209:225,52:-208:224,54:-207:223,55:-206:222,57:-205:221,58:-204:220,60:-203:219,61:-202:218,63:-201:217,64:-200:216,66:-199:215,67:-198:214,69:-197:213,70:-196:212,72:-195:211,73:-194:210,75:-193:209,76:-192:208,78:-191:207,79:-190:206,81:-189:205,82:-188:204,83:-187:203,85:-186:202,86:-185:201,88:-184:200,89:-183:199,91:-182:198,92:-181:197,94:-180:196,95:-179:195,97:-178:194,98:-177:193,100:-176:192,101:-175:191,103:-174:190,104:-173:189,106:-172:188,107:-171:187,109:-170:186,110:-169:185,112:-168:184,113:-167:183,115:-166:182,116:-165:181,118:-164:180,119:-163:179,121:-162:178,122:-161:177,124:-160:176,125:-159:175,127:-158:174,128:-157:173,129:-156:172,131:-155:171,132:-154:170,134:-153:169,135:-152:168,137:-151:167,138:-150:166,140:-149:165,141:-148:164,143:-147:163,144:-146:162,146:-145:161,147:-144:160,149:-143:159,150:-142:158,152:-141:157,153:-140:156,155:-139:155,156:-138:154,158:-137:153,159:-136:152,161:-135:151,162:-134:150,164:-133:149,165:-132:148,167:-131:147,168:-130:146,170:-129:145,171:-128:144,172:-127:143,174:-126:142,175:-125:141,177:-124:140,178:-123:139,180:-122:138,181:-121:137,183:-120:136,184:-119:135,186:-118:134,187:-117:133,189:-116:132,190:-115:131,192:-114:130,193:-113:129,195:-112:128,196:-111:127,198:-110:126,199:-109:125,201:-108:124,202:-107:123,204:-106:122,205:-105:121,207:-104:120,208:-103:119,210:-102:118,211:-101:117,213:-100:116,214:-99:115,216:-98:114,217:-97:113,218:-96:112,220:-95:111,221:-94:110,223:-93:109,224:-92:108,226:-91:107,227:-90:106,229:-89:105,230:-88:104,232:-87:103,233:-86:102,235:-85:101,236:-84:100,238:-83:99,239:-82:98,241:-81:97,242:-80:96,244:-79:95,245:-78:94,247:-77:93,248:-76:92,250:-75:91,251:-74:90,253:-73:89,254:-72:88,256:-71:87,257:-70:86,259:-69:85,260:-68:84,261:-67:83,263:-66:82,264:-65:81,266:-64:80,267:-63:79,269:-62:78,270:-61:77,272:-60:76,273:-59:75,275:-58:74,276:-57:73,278:-56:72,279:-55:71,281:-54:70,282:-53:69,284:-52:68,285:-51:67,287:-50:66,288:-49:65,290:-48:64,291:-47:63,293:-46:62,294:-45:61,296:-44:60,297:-43:59,299:-42:58,300:-41:57,302:-40:56,303:-39:55,305:-38:54,306:-37:53,307:-36:52,309:-35:51,310:-34:50,312:-33:49,313:-32:48,315:-31:47,316:-30:46,318:-29:45,319:-28:44,321:-27:43,322:-26:42,324:-25:41,325:-24:40,327:-23:39,328:-22:38,330:-21:37,331:-20:36,333:-19:35,334:-18:34,336:-17:33,337:-16:32,339:-15:31,340:-14:30,342:-13:29,343:-12:28,345:-11:27,346:-10:26,348:-9:25,349:-8:24,350:-7:23,373:-6:22,395:-5:21,418:-4:20,440:-3:19,463:-2:18,485:-1:17,508:0:16,530:1:15,553:2:14,575:3:13,598:4:12,620:5:11,643:6:10,665:7:9,688:8:8,710:9:7,733:10:6,755:11:5,778:12:4,800:13:3,850:14:2,900:15:1/HEL;JFK;J,24,J|0:42:5:18:18:0,C|0:37:5:14:14:0,D|0:32:7:10:10:0,I|0:25:17:5:5:0,F|0:8:4:0:0:0,U|0:4:4:0:0:0;Y,211,Y|0:234:5:15:15:0,B|0:229:2:15:15:0,H|0:227:2:15:15:0,K|0:225:4:15:15:0,M|0:221:8:15:15:0,P|0:213:3:12:12:0,T|0:210:4:9:9:0,L|0:200:7:3:3:0,V|0:206:6:6:6:0,S|0:188:4:0:0:0,N|0:193:5:0:0:0,Q|0:184:16:0:0:0,O|0:168:19:0:0:0,Z|0:149:46:0:0:0,R|0:103:93:0:0:0,G|0:5:0:0:0:0,W|0:10:1:0:0:0,X|0:9:4:0:0:0,E|0:5:5:0:0:0,A|0:5:0:0:0:0 + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <qua...@us...> - 2010-02-18 15:44:25
|
Revision: 155 http://stdair.svn.sourceforge.net/stdair/?rev=155&view=rev Author: quannaus Date: 2010-02-18 15:44:19 +0000 (Thu, 18 Feb 2010) Log Message: ----------- [samples] Added a sample. Modified Paths: -------------- trunk/stdair/test/samples/demand07.csv Added Paths: ----------- trunk/stdair/test/samples/schedule05.csv Modified: trunk/stdair/test/samples/demand07.csv =================================================================== --- trunk/stdair/test/samples/demand07.csv 2010-02-18 15:42:34 UTC (rev 154) +++ trunk/stdair/test/samples/demand07.csv 2010-02-18 15:44:19 UTC (rev 155) @@ -1 +1 @@ -2010-12-25; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.90, 24:0.10; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 40, 4; +2010-12-25; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.90, 24:0.10; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 40, 4; \ No newline at end of file Copied: trunk/stdair/test/samples/schedule05.csv (from rev 152, trunk/stdair/test/samples/schedule04.csv) =================================================================== --- trunk/stdair/test/samples/schedule05.csv (rev 0) +++ trunk/stdair/test/samples/schedule05.csv 2010-02-18 15:44:19 UTC (rev 155) @@ -0,0 +1,7 @@ +// Flights: AirlineCode; FlightNumber; Date-Range; ; DOW; Legs; Segments; +// Legs: BoardPoint; OffPoint; BoardTime; ArrivalDateOffSet; ArrivalTime; +// ElapsedTime; LegCabins; +// LegCabins: CabinCode; Capacity; +// Segments: Specific; +XX; 0701; 2010-02-18; 2010-02-18; 1111111; XDT; XGB; 07:00; 07:05; 00:05; Y; 100; XGB; XSH; 07:10; 08:03; 00:53; Y; 100; 0; Y; Y; +XX; 0901; 2010-02-18; 2010-02-18; 1111111; XDT; XGB; 09:00; 09:05; 00:05; Y; 100; XGB; XSH; 09:10; 10:03; 00:53; Y; 100; 0; Y; Y; \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <qua...@us...> - 2010-02-18 15:42:41
|
Revision: 154 http://stdair.svn.sourceforge.net/stdair/?rev=154&view=rev Author: quannaus Date: 2010-02-18 15:42:34 +0000 (Thu, 18 Feb 2010) Log Message: ----------- [dev] Fix a bug in display. Modified Paths: -------------- trunk/stdair/stdair/STDAIR_Types.hpp trunk/stdair/stdair/bom/AirlineFeature.cpp trunk/stdair/stdair/bom/AirlineFeatureSet.cpp trunk/stdair/stdair/bom/AirlineFeatureSetStructure.hpp trunk/stdair/stdair/bom/AirlineFeatureStructure.hpp trunk/stdair/stdair/bom/AirportDate.cpp trunk/stdair/stdair/bom/AirportDateStructure.hpp trunk/stdair/stdair/bom/BomManager.cpp trunk/stdair/stdair/bom/BomManager.hpp trunk/stdair/stdair/bom/BomRoot.cpp trunk/stdair/stdair/bom/BomRootStructure.hpp trunk/stdair/stdair/bom/BookingClassStructure.hpp trunk/stdair/stdair/bom/DemandStreamStructure.hpp trunk/stdair/stdair/bom/FlightDate.cpp trunk/stdair/stdair/bom/FlightDateStructure.hpp trunk/stdair/stdair/bom/Inventory.cpp trunk/stdair/stdair/bom/InventoryStructure.hpp trunk/stdair/stdair/bom/LegCabin.cpp trunk/stdair/stdair/bom/LegCabinStructure.hpp trunk/stdair/stdair/bom/LegDate.cpp trunk/stdair/stdair/bom/LegDateStructure.hpp trunk/stdair/stdair/bom/Network.cpp trunk/stdair/stdair/bom/NetworkDate.cpp trunk/stdair/stdair/bom/NetworkDateStructure.hpp trunk/stdair/stdair/bom/NetworkStructure.hpp trunk/stdair/stdair/bom/OutboundPath.cpp trunk/stdair/stdair/bom/OutboundPathContent.hpp trunk/stdair/stdair/bom/OutboundPathKey.cpp trunk/stdair/stdair/bom/OutboundPathKey.hpp trunk/stdair/stdair/bom/OutboundPathStructure.hpp trunk/stdair/stdair/bom/SegmentCabin.cpp trunk/stdair/stdair/bom/SegmentCabinStructure.hpp trunk/stdair/stdair/bom/SegmentDate.cpp trunk/stdair/stdair/bom/SegmentDate.hpp trunk/stdair/stdair/bom/SegmentDateStructure.hpp trunk/stdair/stdair/command/CmdBomManager.cpp trunk/stdair/stdair/factory/FacBomContent.hpp trunk/stdair/stdair/factory/FacBomStructure.hpp Modified: trunk/stdair/stdair/STDAIR_Types.hpp =================================================================== --- trunk/stdair/stdair/STDAIR_Types.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/STDAIR_Types.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -47,6 +47,9 @@ class MemoryAllocationException : public RootException { }; + class ObjectLinkingException : public RootException { + }; + class ParserException : public RootException { }; Modified: trunk/stdair/stdair/bom/AirlineFeature.cpp =================================================================== --- trunk/stdair/stdair/bom/AirlineFeature.cpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/AirlineFeature.cpp 2010-02-18 15:42:34 UTC (rev 154) @@ -63,7 +63,7 @@ // ////////////////////////////////////////////////////////////////////// const std::string AirlineFeature::describeKey() const { - return _key.toString(); + return _key.describe(); } // ////////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/AirlineFeatureSet.cpp =================================================================== --- trunk/stdair/stdair/bom/AirlineFeatureSet.cpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/AirlineFeatureSet.cpp 2010-02-18 15:42:34 UTC (rev 154) @@ -38,7 +38,7 @@ // ////////////////////////////////////////////////////////////////////// std::string AirlineFeatureSet::toString() const { - return describeKey(); + return describeShortKey(); } // ////////////////////////////////////////////////////////////////////// @@ -48,7 +48,7 @@ // ////////////////////////////////////////////////////////////////////// const std::string AirlineFeatureSet::describeShortKey() const { - return std::string (""); + return _key.toString(); } // ////////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/AirlineFeatureSetStructure.hpp =================================================================== --- trunk/stdair/stdair/bom/AirlineFeatureSetStructure.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/AirlineFeatureSetStructure.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -118,11 +118,11 @@ void fromStream (std::istream& ioIn) { } /** Get the serialised version of the Business Object. */ - std::string toString() const { return describeKey(); } + std::string toString() const { return describeShortKey(); } /** Get a string describing the whole key (differentiating two objects at any level). */ - const std::string describeKey() const { return getKey().toString(); } + const std::string describeKey() const { return getKey().describe(); } /** Get a string describing the short key (differentiating two objects at the same level). */ Modified: trunk/stdair/stdair/bom/AirlineFeatureStructure.hpp =================================================================== --- trunk/stdair/stdair/bom/AirlineFeatureStructure.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/AirlineFeatureStructure.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -80,11 +80,11 @@ void fromStream (std::istream& ioIn) { } /** Get the serialised version of the Business Object. */ - std::string toString() const { return describeKey(); } + std::string toString() const { return describeShortKey(); } /** Get a string describing the whole key (differentiating two objects at any level). */ - const std::string describeKey() const { return getKey().toString(); } + const std::string describeKey() const { return getKey().describe(); } /** Get a string describing the short key (differentiating two objects at the same level). */ Modified: trunk/stdair/stdair/bom/AirportDate.cpp =================================================================== --- trunk/stdair/stdair/bom/AirportDate.cpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/AirportDate.cpp 2010-02-18 15:42:34 UTC (rev 154) @@ -47,12 +47,12 @@ // //////////////////////////////////////////////////////////////////// const std::string AirportDate::describeKey() const { - return _airportDateStructure.describeKey(); + return _key.describe(); } // //////////////////////////////////////////////////////////////////// const std::string AirportDate::describeShortKey() const { - return _airportDateStructure.describeShortKey(); + return _key.toString(); } // //////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/AirportDateStructure.hpp =================================================================== --- trunk/stdair/stdair/bom/AirportDateStructure.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/AirportDateStructure.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -142,11 +142,11 @@ void fromStream (std::istream& ioIn) { } /** Get the serialised version of the Business Object. */ - std::string toString() const { return describeKey(); } + std::string toString() const { return describeShortKey(); } /** Get a string describing the whole key (differentiating two objects at any level). */ - const std::string describeKey() const { return getKey().toString(); } + const std::string describeKey() const { return getKey().describe(); } /** Get a string describing the short key (differentiating two objects at the same level). */ Modified: trunk/stdair/stdair/bom/BomManager.cpp =================================================================== --- trunk/stdair/stdair/bom/BomManager.cpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/BomManager.cpp 2010-02-18 15:42:34 UTC (rev 154) @@ -413,6 +413,28 @@ } // ////////////////////////////////////////////////////////////////////// + void BomManager::display (std::ostream& oStream, + const AirlineFeatureSet& iAirlineFeatureSet) { + // Store current formatting flags of the given output stream + std::ios::fmtflags oldFlags = oStream.flags(); + + oStream << iAirlineFeatureSet.describeKey() << std::endl; + + const AirlineFeatureList_T& lAirlineFeatureList = + iAirlineFeatureSet.getAirlineFeatureList(); + for (AirlineFeatureList_T::iterator itAirlineFeature = + lAirlineFeatureList.begin(); + itAirlineFeature != lAirlineFeatureList.end(); ++itAirlineFeature) { + const AirlineFeature& lCurrentAirlineFeature = *itAirlineFeature; + + oStream << lCurrentAirlineFeature.describeKey() << std::endl; + } + + // Reset formatting flags of the given output stream + oStream.flags (oldFlags); + } + + // ////////////////////////////////////////////////////////////////////// void BomManager::csvDisplay (std::ostream& oStream, const BookingRequestStruct& iBookingRequest) { // Store current formatting flags of the given output stream Modified: trunk/stdair/stdair/bom/BomManager.hpp =================================================================== --- trunk/stdair/stdair/bom/BomManager.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/BomManager.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -22,6 +22,7 @@ class NetworkDate; class AirportDate; class OutboundPath; + class AirlineFeatureSet; struct BookingRequestStruct; /** Utility class for StdAir objects. */ @@ -123,6 +124,13 @@ the objects of the given BOM tree. @param std::ostream& Output stream in which the BOM tree should be logged/dumped. + @param const AirlineFeatureSet& Root of the BOM tree to be displayed. */ + static void display (std::ostream&, const AirlineFeatureSet&); + + /** Recursively display (dump in the underlying output log stream) + the objects of the given BOM tree. + @param std::ostream& Output stream in which the BOM tree should be + logged/dumped. @param const LegCabin& Root of the BOM tree to be displayed. */ static void csvDisplay (std::ostream&, const BookingRequestStruct& iBookingRequest); Modified: trunk/stdair/stdair/bom/BomRoot.cpp =================================================================== --- trunk/stdair/stdair/bom/BomRoot.cpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/BomRoot.cpp 2010-02-18 15:42:34 UTC (rev 154) @@ -17,7 +17,8 @@ // //////////////////////////////////////////////////////////////////// BomRoot::BomRoot (const BomKey_T& iKey, BomStructure_T& ioBomRootStructure) - : BomRootContent (iKey), _bomRootStructure (ioBomRootStructure) { + : BomRootContent (iKey), _bomRootStructure (ioBomRootStructure), + _airlineFeatureSet (NULL) { } // //////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/BomRootStructure.hpp =================================================================== --- trunk/stdair/stdair/bom/BomRootStructure.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/BomRootStructure.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -138,11 +138,11 @@ void fromStream (std::istream& ioIn) { } /** Get the serialised version of the Business Object. */ - std::string toString() const { return describeKey(); } + std::string toString() const { return describeShortKey(); } /** Get a string describing the whole key (differentiating two objects at any level). */ - const std::string describeKey() const { return getKey().toString(); } + const std::string describeKey() const { return getKey().describe(); } /** Get a string describing the short key (differentiating two objects at the same level). */ Modified: trunk/stdair/stdair/bom/BookingClassStructure.hpp =================================================================== --- trunk/stdair/stdair/bom/BookingClassStructure.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/BookingClassStructure.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -78,11 +78,11 @@ void fromStream (std::istream& ioIn) { } /** Get the serialised version of the Business Object. */ - std::string toString() const { return describeKey(); } + std::string toString() const { return describeShortKey(); } /** Get a string describing the whole key (differentiating two objects at any level). */ - const std::string describeKey() const { return getKey().toString(); } + const std::string describeKey() const { return getKey().describe(); } /** Get a string describing the short key (differentiating two objects at the same level). */ Modified: trunk/stdair/stdair/bom/DemandStreamStructure.hpp =================================================================== --- trunk/stdair/stdair/bom/DemandStreamStructure.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/DemandStreamStructure.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -80,11 +80,11 @@ void fromStream (std::istream& ioIn) { } /** Get the serialised version of the Business Object. */ - std::string toString() const { return describeKey(); } + std::string toString() const { return describeShortKey(); } /** Get a string describing the whole key (differentiating two objects at any level). */ - const std::string describeKey() const { return getKey().toString(); } + const std::string describeKey() const { return getKey().describe(); } /** Get a string describing the short key (differentiating two objects at the same level). */ Modified: trunk/stdair/stdair/bom/FlightDate.cpp =================================================================== --- trunk/stdair/stdair/bom/FlightDate.cpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/FlightDate.cpp 2010-02-18 15:42:34 UTC (rev 154) @@ -48,12 +48,12 @@ // ////////////////////////////////////////////////////////////////////// const std::string FlightDate::describeKey() const { - return _flightDateStructure.describeKey(); + return _key.describe(); } // ////////////////////////////////////////////////////////////////////// const std::string FlightDate::describeShortKey() const { - return _flightDateStructure.describeShortKey(); + return _key.toString(); } // ////////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/FlightDateStructure.hpp =================================================================== --- trunk/stdair/stdair/bom/FlightDateStructure.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/FlightDateStructure.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -229,11 +229,11 @@ void fromStream (std::istream& ioIn) { } /** Get the serialised version of the Business Object. */ - std::string toString() const { return describeKey(); } + std::string toString() const { return describeShortKey(); } /** Get a string describing the whole key (differentiating two objects at any level). */ - const std::string describeKey() const { return getKey().toString(); } + const std::string describeKey() const { return getKey().describe(); } /** Get a string describing the short key (differentiating two objects at the same level). */ Modified: trunk/stdair/stdair/bom/Inventory.cpp =================================================================== --- trunk/stdair/stdair/bom/Inventory.cpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/Inventory.cpp 2010-02-18 15:42:34 UTC (rev 154) @@ -41,12 +41,12 @@ // ////////////////////////////////////////////////////////////////////// const std::string Inventory::describeKey() const { - return _inventoryStructure.describeKey(); + return _key.describe(); } // ////////////////////////////////////////////////////////////////////// const std::string Inventory::describeShortKey() const { - return _inventoryStructure.describeShortKey(); + return _key.toString(); } // ////////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/InventoryStructure.hpp =================================================================== --- trunk/stdair/stdair/bom/InventoryStructure.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/InventoryStructure.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -158,11 +158,11 @@ void fromStream (std::istream& ioIn) { } /** Get the serialised version of the Business Object. */ - std::string toString() const { return describeKey(); } + std::string toString() const { return describeShortKey(); } /** Get a string describing the whole key (differentiating two objects at any level). */ - const std::string describeKey() const { return getKey().toString(); } + const std::string describeKey() const { return getKey().describe(); } /** Get a string describing the short key (differentiating two objects at the same level). */ Modified: trunk/stdair/stdair/bom/LegCabin.cpp =================================================================== --- trunk/stdair/stdair/bom/LegCabin.cpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/LegCabin.cpp 2010-02-18 15:42:34 UTC (rev 154) @@ -42,12 +42,12 @@ // ////////////////////////////////////////////////////////////////////// const std::string LegCabin::describeKey() const { - return _legCabinStructure.describeKey(); + return _key.describe(); } // ////////////////////////////////////////////////////////////////////// const std::string LegCabin::describeShortKey() const { - return _legCabinStructure.describeShortKey(); + return _key.toString(); } // ////////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/LegCabinStructure.hpp =================================================================== --- trunk/stdair/stdair/bom/LegCabinStructure.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/LegCabinStructure.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -96,11 +96,11 @@ void fromStream (std::istream& ioIn) { } /** Get the serialised version of the Business Object. */ - std::string toString() const { return describeKey(); } + std::string toString() const { return describeShortKey(); } /** Get a string describing the whole key (differentiating two objects at any level). */ - const std::string describeKey() const { return getKey().toString(); } + const std::string describeKey() const { return getKey().describe(); } /** Get a string describing the short key (differentiating two objects at the same level). */ Modified: trunk/stdair/stdair/bom/LegDate.cpp =================================================================== --- trunk/stdair/stdair/bom/LegDate.cpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/LegDate.cpp 2010-02-18 15:42:34 UTC (rev 154) @@ -45,12 +45,12 @@ // //////////////////////////////////////////////////////////////////// const std::string LegDate::describeKey() const { - return _legDateStructure.describeKey(); + return _key.describe(); } // //////////////////////////////////////////////////////////////////// const std::string LegDate::describeShortKey() const { - return _legDateStructure.describeShortKey(); + return _key.toString(); } // //////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/LegDateStructure.hpp =================================================================== --- trunk/stdair/stdair/bom/LegDateStructure.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/LegDateStructure.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -145,11 +145,11 @@ void fromStream (std::istream& ioIn) { } /** Get the serialised version of the Business Object. */ - std::string toString() const { return describeKey(); } + std::string toString() const { return describeShortKey(); } /** Get a string describing the whole key (differentiating two objects at any level). */ - const std::string describeKey() const { return getKey().toString(); } + const std::string describeKey() const { return getKey().describe(); } /** Get a string describing the short key (differentiating two objects at the same level). */ Modified: trunk/stdair/stdair/bom/Network.cpp =================================================================== --- trunk/stdair/stdair/bom/Network.cpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/Network.cpp 2010-02-18 15:42:34 UTC (rev 154) @@ -40,12 +40,12 @@ // ////////////////////////////////////////////////////////////////////// const std::string Network::describeKey() const { - return _networkStructure.describeKey(); + return _key.describe(); } // ////////////////////////////////////////////////////////////////////// const std::string Network::describeShortKey() const { - return _networkStructure.describeShortKey(); + return _key.toString(); } // ////////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/NetworkDate.cpp =================================================================== --- trunk/stdair/stdair/bom/NetworkDate.cpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/NetworkDate.cpp 2010-02-18 15:42:34 UTC (rev 154) @@ -40,12 +40,12 @@ // ////////////////////////////////////////////////////////////////////// const std::string NetworkDate::describeKey() const { - return _networkDateStructure.describeKey(); + return _key.describe(); } // ////////////////////////////////////////////////////////////////////// const std::string NetworkDate::describeShortKey() const { - return _networkDateStructure.describeShortKey(); + return _key.toString(); } // ////////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/NetworkDateStructure.hpp =================================================================== --- trunk/stdair/stdair/bom/NetworkDateStructure.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/NetworkDateStructure.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -159,11 +159,11 @@ void fromStream (std::istream& ioIn) { } /** Get the serialised version of the Business Object. */ - std::string toString() const { return describeKey(); } + std::string toString() const { return describeShortKey(); } /** Get a string describing the whole key (differentiating two objects at any level). */ - const std::string describeKey() const { return getKey().toString(); } + const std::string describeKey() const { return getKey().describe(); } /** Get a string describing the short key (differentiating two objects at the same level). */ Modified: trunk/stdair/stdair/bom/NetworkStructure.hpp =================================================================== --- trunk/stdair/stdair/bom/NetworkStructure.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/NetworkStructure.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -143,11 +143,11 @@ void fromStream (std::istream& ioIn) { } /** Get the serialised version of the Business Object. */ - std::string toString() const { return describeKey(); } + std::string toString() const { return describeShortKey(); } /** Get a string describing the whole key (differentiating two objects at any level). */ - const std::string describeKey() const { return getKey().toString(); } + const std::string describeKey() const { return getKey().describe(); } /** Get a string describing the short key (differentiating two objects at the same level). */ Modified: trunk/stdair/stdair/bom/OutboundPath.cpp =================================================================== --- trunk/stdair/stdair/bom/OutboundPath.cpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/OutboundPath.cpp 2010-02-18 15:42:34 UTC (rev 154) @@ -47,12 +47,12 @@ // //////////////////////////////////////////////////////////////////// const std::string OutboundPath::describeKey() const { - return _outboundPathStructure.describeKey(); + return _key.describe(); } // //////////////////////////////////////////////////////////////////// const std::string OutboundPath::describeShortKey() const { - return _outboundPathStructure.describeShortKey(); + return _key.toString(); } // //////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/OutboundPathContent.hpp =================================================================== --- trunk/stdair/stdair/bom/OutboundPathContent.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/OutboundPathContent.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -62,6 +62,11 @@ const NbOfAirlines_T& getNbOfAirlines() const { return _key.getNbOfAirlines(); } + + /** Get the boarding time. */ + const Duration_T& getBoardingTime() const { + return _key.getBoardingTime(); + } public: // /////////// Setters //////////// Modified: trunk/stdair/stdair/bom/OutboundPathKey.cpp =================================================================== --- trunk/stdair/stdair/bom/OutboundPathKey.cpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/OutboundPathKey.cpp 2010-02-18 15:42:34 UTC (rev 154) @@ -11,11 +11,13 @@ OutboundPathKey_T (const AirportCode_T& iDestination, const Duration_T& iElapsedTime, const NbOfSegments_T& iNbOfSegments, - const NbOfAirlines_T& iNbOfAirlines) + const NbOfAirlines_T& iNbOfAirlines, + const Duration_T& iBoardingTime) : _destination (iDestination), _elapsed (iElapsedTime), _nbOfSegments (iNbOfSegments), - _nbOfAirlines (iNbOfAirlines) { + _nbOfAirlines (iNbOfAirlines), + _boardingTime (iBoardingTime){ } // //////////////////////////////////////////////////////////////////// @@ -35,7 +37,7 @@ const std::string OutboundPathKey_T::toString() const { std::ostringstream oStr; oStr << _destination << ", " << _elapsed << ", " - << _nbOfSegments << ", " << _nbOfAirlines; + << _nbOfSegments << ", " << _nbOfAirlines << ", " << _boardingTime; return oStr.str(); } Modified: trunk/stdair/stdair/bom/OutboundPathKey.hpp =================================================================== --- trunk/stdair/stdair/bom/OutboundPathKey.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/OutboundPathKey.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -21,10 +21,9 @@ public: // /////////// Construction /////////// /** Constructor. */ - OutboundPathKey_T (const AirportCode_T&, - const Duration_T&, - const NbOfSegments_T&, - const NbOfAirlines_T&); + OutboundPathKey_T (const AirportCode_T&, const Duration_T&, + const NbOfSegments_T&, const NbOfAirlines_T&, + const Duration_T&); /** Destructor. */ ~OutboundPathKey_T (); @@ -49,6 +48,11 @@ const Duration_T& getElapsedTime() const { return _elapsed; } + + /** Get the boarding time. */ + const Duration_T& getBoardingTime () const { + return _boardingTime; + } /** Get boarding airport. */ const AirportCode_T& getBoardingPoint() const; @@ -96,6 +100,9 @@ /** Number of airlines included in the path. */ NbOfAirlines_T _nbOfAirlines; + + /** The boarding time. */ + Duration_T _boardingTime; }; } Modified: trunk/stdair/stdair/bom/OutboundPathStructure.hpp =================================================================== --- trunk/stdair/stdair/bom/OutboundPathStructure.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/OutboundPathStructure.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -117,11 +117,11 @@ void fromStream (std::istream& ioIn) { } /** Get the serialised version of the Business Object. */ - std::string toString() const { return describeKey(); } + std::string toString() const { return describeShortKey(); } /** Get a string describing the whole key (differentiating two objects at any level). */ - const std::string describeKey() const { return getKey().toString(); } + const std::string describeKey() const { return getKey().describe(); } /** Get a string describing the short key (differentiating two objects at the same level). */ Modified: trunk/stdair/stdair/bom/SegmentCabin.cpp =================================================================== --- trunk/stdair/stdair/bom/SegmentCabin.cpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/SegmentCabin.cpp 2010-02-18 15:42:34 UTC (rev 154) @@ -46,12 +46,12 @@ // ////////////////////////////////////////////////////////////////////// const std::string SegmentCabin::describeKey() const { - return _segmentCabinStructure.describeKey(); + return _key.describe(); } // ////////////////////////////////////////////////////////////////////// const std::string SegmentCabin::describeShortKey() const { - return _segmentCabinStructure.describeShortKey(); + return _key.toString(); } // ////////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/SegmentCabinStructure.hpp =================================================================== --- trunk/stdair/stdair/bom/SegmentCabinStructure.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/SegmentCabinStructure.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -121,11 +121,11 @@ void fromStream (std::istream& ioIn) { } /** Get the serialised version of the Business Object. */ - std::string toString() const { return describeKey(); } + std::string toString() const { return describeShortKey(); } /** Get a string describing the whole key (differentiating two objects at any level). */ - const std::string describeKey() const { return getKey().toString(); } + const std::string describeKey() const { return getKey().describe(); } /** Get a string describing the short key (differentiating two objects at the same level). */ Modified: trunk/stdair/stdair/bom/SegmentDate.cpp =================================================================== --- trunk/stdair/stdair/bom/SegmentDate.cpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/SegmentDate.cpp 2010-02-18 15:42:34 UTC (rev 154) @@ -48,12 +48,12 @@ // ////////////////////////////////////////////////////////////////////// const std::string SegmentDate::describeKey() const { - return _segmentDateStructure.describeKey(); + return _key.describe(); } // ////////////////////////////////////////////////////////////////////// const std::string SegmentDate::describeShortKey() const { - return _segmentDateStructure.describeShortKey(); + return _key.toString(); } // ////////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/SegmentDate.hpp =================================================================== --- trunk/stdair/stdair/bom/SegmentDate.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/SegmentDate.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -51,22 +51,7 @@ /** Get a LegDateList_T for iteration methods. */ LegDateList_T getLegDateList () const; - -// /** Get the airline code (from the parent class). */ -// const AirlineCode_T& getAirlineCode() const; -// /** Get the flight number (from the parent class). */ -// const FlightNumber_T& getFlightNumber() const; - -// /** Get the flight-date (from the parent class). */ -// const Date_T& getFlightDateDate() const; - - /** Retrieve the BookingClass corresponding to the given ClassCode. - <br>When no BookingClass, matching the given key, can be found, - the NULL pointer is returned. - <br>Otherwise, a pointer is returned on the BookingClass object. */ - //BookingClass* getBookingClass (const ClassCode_T&) const; - private: /** Retrieve the BOM structure object. */ BomStructure_T& getBomStructure () { @@ -126,15 +111,6 @@ /** Reference structure. */ BomStructure_T& _segmentDateStructure; -// /** Map between ClassCode and SegmentCabin pointer. */ -// ClassSegmentCabinList_T _classSegmentCabinList; - -// /** List of routing LegDate objects. */ -// LegDateOrderedList_T _legDateList; - - /** MultiMap linking MatchingIndicator values - and BookingClass. */ - // BookingClassIndicatorList_T _classIndicatorList; }; } Modified: trunk/stdair/stdair/bom/SegmentDateStructure.hpp =================================================================== --- trunk/stdair/stdair/bom/SegmentDateStructure.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/bom/SegmentDateStructure.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -128,11 +128,11 @@ void fromStream (std::istream& ioIn) { } /** Get the serialised version of the Business Object. */ - std::string toString() const { return describeKey(); } + std::string toString() const { return describeShortKey(); } /** Get a string describing the whole key (differentiating two objects at any level). */ - const std::string describeKey() const { return getKey().toString(); } + const std::string describeKey() const { return getKey().describe(); } /** Get a string describing the short key (differentiating two objects at the same level). */ Modified: trunk/stdair/stdair/command/CmdBomManager.cpp =================================================================== --- trunk/stdair/stdair/command/CmdBomManager.cpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/command/CmdBomManager.cpp 2010-02-18 15:42:34 UTC (rev 154) @@ -15,6 +15,7 @@ // Network: child of BomRoot, needed for creation of BomRoot #include <stdair/bom/Network.hpp> #include <stdair/bom/FlightDate.hpp> +#include <stdair/bom/BomManager.hpp> #include <stdair/factory/FacSupervisor.hpp> #include <stdair/factory/FacBomContent.hpp> #include <stdair/command/CmdBomManager.hpp> @@ -27,7 +28,6 @@ // Initialise the set of required airline features AirlineFeatureSet& lAirlineFeatureSet = FacBomContent::instance().create<AirlineFeatureSet>(); - // Set the AirlineFeatureSet for the BomRoot. ioBomRoot.setAirlineFeatureSet (&lAirlineFeatureSet); } @@ -40,10 +40,10 @@ AirlineFeatureKey_T lAirlineFeatureKey (iAirlineCode); AirlineFeature& lAirlineFeature = FacBomContent:: instance().create<AirlineFeature> (lAirlineFeatureKey); - + // Retrieve the AirlineFeatureSet object AirlineFeatureSet& lAirlineFeatureSet = ioBomRoot.getAirlineFeatureSet(); - + // Add the AirlineFeature object to its AirlineFeatureSet parent FacBomContent::linkWithParent<AirlineFeature> (lAirlineFeature, lAirlineFeatureSet); Modified: trunk/stdair/stdair/factory/FacBomContent.hpp =================================================================== --- trunk/stdair/stdair/factory/FacBomContent.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/factory/FacBomContent.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -92,7 +92,7 @@ lBomStructureChild); if (hasLinkBeenSuccessful == false) { - throw new MemoryAllocationException(); + throw ObjectLinkingException(); } } Modified: trunk/stdair/stdair/factory/FacBomStructure.hpp =================================================================== --- trunk/stdair/stdair/factory/FacBomStructure.hpp 2010-02-18 10:19:27 UTC (rev 153) +++ trunk/stdair/stdair/factory/FacBomStructure.hpp 2010-02-18 15:42:34 UTC (rev 154) @@ -122,10 +122,12 @@ // Insert the structure object in the dedicated lists typedef typename BOM_HOLDER_T::BomChildrenMap_T BOM_MAP_T; + const bool hasInsertBeenSuccessful = ioBomHolder._bomChildrenMap. insert (typename BOM_MAP_T::value_type (lBomKeyStr, &ioBomStructure)).second; + if (hasInsertBeenSuccessful == false) { return hasInsertBeenSuccessful; } @@ -602,6 +604,10 @@ assert (ioOutboundPathStructure._segmentDateHolder != NULL); bool addingSucceeded = addFullBomObjectToBomHolder<SEGMENT_DATE_T> (*ioOutboundPathStructure._segmentDateHolder, ioSegmentDateStructure); + if (addingSucceeded == false) { + STDAIR_LOG_DEBUG ("Cannot add SegmentDate: " + << ioSegmentDateStructure._content->describeKey()); + } assert (addingSucceeded == true); } // ////////////////////////////////////////////////////////////////// This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <qua...@us...> - 2010-02-18 10:19:33
|
Revision: 153 http://stdair.svn.sourceforge.net/stdair/?rev=153&view=rev Author: quannaus Date: 2010-02-18 10:19:27 +0000 (Thu, 18 Feb 2010) Log Message: ----------- [dev] A small change. Modified Paths: -------------- trunk/stdair/stdair/bom/BomRootStructure.hpp Modified: trunk/stdair/stdair/bom/BomRootStructure.hpp =================================================================== --- trunk/stdair/stdair/bom/BomRootStructure.hpp 2010-02-18 09:28:54 UTC (rev 152) +++ trunk/stdair/stdair/bom/BomRootStructure.hpp 2010-02-18 10:19:27 UTC (rev 153) @@ -86,7 +86,7 @@ /** Get the holder of demand streams. */ const DemandStreamHolder_T& getDemandStreamHolder() const { - assert (_demandStreamHolder); + assert (_demandStreamHolder != NULL); return *_demandStreamHolder; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2010-02-18 09:29:02
|
Revision: 152 http://stdair.svn.sourceforge.net/stdair/?rev=152&view=rev Author: carobelin Date: 2010-02-18 09:28:54 +0000 (Thu, 18 Feb 2010) Log Message: ----------- [test samples] Added demand input files for debugging Added Paths: ----------- trunk/stdair/test/samples/demand02.csv trunk/stdair/test/samples/demand03.csv trunk/stdair/test/samples/demand04.csv trunk/stdair/test/samples/demand05.csv trunk/stdair/test/samples/demand06.csv trunk/stdair/test/samples/demand07.csv Added: trunk/stdair/test/samples/demand02.csv =================================================================== --- trunk/stdair/test/samples/demand02.csv (rev 0) +++ trunk/stdair/test/samples/demand02.csv 2010-02-18 09:28:54 UTC (rev 152) @@ -0,0 +1,2 @@ +//2011-06-01; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; G:0.07, S:0.05, Q:0.03, K:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 10, 1 +2010-02-08; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 10000, 10; Added: trunk/stdair/test/samples/demand03.csv =================================================================== --- trunk/stdair/test/samples/demand03.csv (rev 0) +++ trunk/stdair/test/samples/demand03.csv 2010-02-18 09:28:54 UTC (rev 152) @@ -0,0 +1,1200 @@ +2010-02-19; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-02-19; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-02-19; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-02-20; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-02-20; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-02-20; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-02-21; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-02-21; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-02-21; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-02-22; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-02-22; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-02-22; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-02-23; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-02-23; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-02-23; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-02-24; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-02-24; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-02-24; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-02-25; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-02-25; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-02-25; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-02-26; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-02-26; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-02-26; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-02-27; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-02-27; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-02-27; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-02-28; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-02-28; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-02-28; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-01; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-01; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-01; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-02; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-02; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-02; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-03; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-03; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-03; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-04; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-04; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-04; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-05; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-05; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-05; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-06; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-06; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-06; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-07; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-07; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-07; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-08; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-08; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-08; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-09; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-09; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-09; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-10; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-10; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-10; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-11; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-11; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-11; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-12; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-12; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-12; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-13; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-13; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-13; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-14; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-14; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-14; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-15; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-15; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-15; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-16; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-16; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-16; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-17; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-17; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-17; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-18; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-18; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-18; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-19; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-19; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-19; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-20; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-20; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-20; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-21; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-21; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-21; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-22; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-22; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-22; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-23; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-23; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-23; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-24; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-24; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-24; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-25; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-25; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-25; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-26; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-26; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-26; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-27; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-27; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-27; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-28; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-28; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 621:0.78, 1246:0.92, 2000:1; 15:0, 60:1; 330:0, 166:0.43, 30:0.96, 1:1; N, 1020, 100; +2010-03-28; SIN; BKK; C; SIN:0.40, BKK:0.20, row:0.40; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.52, RI:0.18, OW:0.30; 1:0.079, 2:0.212, 3:0.319, 4:0.174, 5:0.079, 6:0.038, 7:0.024, 8:0.02, 9:0.013, 10:0.007, 11:0.009, 12:0.007, 13:0.005, 14:0.003, 15:0.002, 16:0.002, 17:0.002, 18:0.002, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.46, 750:0.87, 2000:1; 15:0, 60:1; 330:0, 1:1; N, 230, 20; +2010-03-29; SIN; BKK; Y; SIN:0.52, BKK:0.35, row:0.13; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.001, 18:0.001, 19:0.001, 20:0.001, 21:0.001; P:0.03, G:0.07, S:0.05, M:0.16, N:0.69; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 286:0.65, 457:0.71, 528:0.96, 1000:1; 15:0, 60:1; 330:0, 287:0.10, 147:0.38, 23:0.95, 1:1; N, 4000, 400; +2010-03-29; SIN; NRT; Y; SIN:0.57, TYO:0.19, row:0.24; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.57, RI:0.32, OW:0.11; 0:0.011, 1:0.067, 2:0.314, 3:0.277, 4:0.134, 5:0.066, 6:0.043, 7:0.021, 8:0.012, 9:0.009, 10:0.008, 11:0.006, 12:0.007, 13:0.009, 14:0.008, 15:0.002, 16:0.001, 17:0.00... [truncated message content] |
From: <qua...@us...> - 2010-02-17 17:02:04
|
Revision: 151 http://stdair.svn.sourceforge.net/stdair/?rev=151&view=rev Author: quannaus Date: 2010-02-17 17:01:57 +0000 (Wed, 17 Feb 2010) Log Message: ----------- [dev] Fixed a bug. Modified Paths: -------------- trunk/stdair/stdair/factory/FacBomStructure.hpp Modified: trunk/stdair/stdair/factory/FacBomStructure.hpp =================================================================== --- trunk/stdair/stdair/factory/FacBomStructure.hpp 2010-02-17 16:52:35 UTC (rev 150) +++ trunk/stdair/stdair/factory/FacBomStructure.hpp 2010-02-17 17:01:57 UTC (rev 151) @@ -574,8 +574,8 @@ } addingSucceeded = - addBomObjectToBomHolder<SEGMENT_CABIN_T> (*lSegmentCabinHolder_ptr, - ioSegmentCabinStructure); + addFullBomObjectToBomHolder<SEGMENT_CABIN_T> (*lSegmentCabinHolder_ptr, + ioSegmentCabinStructure); assert (addingSucceeded == true); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <qua...@us...> - 2010-02-17 16:52:42
|
Revision: 150 http://stdair.svn.sourceforge.net/stdair/?rev=150&view=rev Author: quannaus Date: 2010-02-17 16:52:35 +0000 (Wed, 17 Feb 2010) Log Message: ----------- [dev] Fixed a bug. Modified Paths: -------------- trunk/stdair/stdair/factory/FacBomStructure.hpp Modified: trunk/stdair/stdair/factory/FacBomStructure.hpp =================================================================== --- trunk/stdair/stdair/factory/FacBomStructure.hpp 2010-02-17 14:57:06 UTC (rev 149) +++ trunk/stdair/stdair/factory/FacBomStructure.hpp 2010-02-17 16:52:35 UTC (rev 150) @@ -23,6 +23,7 @@ #include <stdair/bom/BomChildrenHolderImp.hpp> #include <stdair/bom/BomStructure.hpp> #include <stdair/bom/BomStopContent.hpp> +#include <stdair/service/Logger.hpp> namespace stdair { @@ -100,7 +101,7 @@ assert (lBomChildrenHolder_ptr != NULL); bool hasInsertBeenSuccessful = - addBomObjecdToBomHolder <typename BOM_STRUCTURE_CHILD::Content_T> + addBomObjectToBomHolder <typename BOM_STRUCTURE_CHILD::Content_T> (*lBomChildrenHolder_ptr, ioBomChild); return hasInsertBeenSuccessful; @@ -109,7 +110,7 @@ /** Add a BOM object into a dedicated BOM holder by using the short key of the object. */ template <typename BOM_CONTENT> - static bool addBomObjecdToBomHolder (BomChildrenHolderImp<BOM_CONTENT>& ioBomHolder, typename BOM_CONTENT::BomStructure_T& ioBomStructure) { + static bool addBomObjectToBomHolder (BomChildrenHolderImp<BOM_CONTENT>& ioBomHolder, typename BOM_CONTENT::BomStructure_T& ioBomStructure) { // Retrieve the bom structure type. typedef typename BOM_CONTENT::BomStructure_T BOM_STRUCTURE_T; // Define the bom holder type. @@ -453,10 +454,10 @@ // Link the SegmentCabin and LegCabin together initLinkSegmentCabinWithLegCabin<SEGMENT_CABIN_STRUCTURE_T> (*lSegmentCabinStructure_ptr, lLegCabinStructure); - // Build the class holders for the corresponding flight-date and - // inventory. - buildBookingClassHolders<SEGMENT_CABIN_STRUCTURE_T> (*lSegmentCabinStructure_ptr); } + // Build the class holders for the corresponding flight-date and + // inventory. + buildBookingClassHolders<SEGMENT_CABIN_STRUCTURE_T> (*lSegmentCabinStructure_ptr); } } @@ -491,7 +492,8 @@ ioSegmentCabinStructure.getChildrenHolder(); BOOKING_CLASS_LIST_T lBookingClassList = lBookingClassHolder._bomChildrenList; - for (typename BOOKING_CLASS_LIST_T::const_iterator itBookingClass = + + for (typename BOOKING_CLASS_LIST_T::const_iterator itBookingClass = lBookingClassList.begin(); itBookingClass != lBookingClassList.end(); ++itBookingClass) { BOOKING_CLASS_STRUCTURE_T* lBookingClassStructure_ptr = *itBookingClass; @@ -500,6 +502,7 @@ bool addingSucceeded = addFullBomObjectToBomHolder<BOOKING_CLASS_T> (lFDBookingClassHolder, *lBookingClassStructure_ptr); + assert (addingSucceeded == true); addingSucceeded = addFullBomObjectToBomHolder<BOOKING_CLASS_T> (lInvBookingClassHolder, @@ -526,9 +529,8 @@ assert (lLegDateHolder_ptr != NULL); bool addingSucceeded = - addBomObjecdToBomHolder<LEG_DATE_T> (*lLegDateHolder_ptr, + addBomObjectToBomHolder<LEG_DATE_T> (*lLegDateHolder_ptr, ioLegDateStructure); - assert (addingSucceeded == true); SEGMENT_DATE_HOLDER_T* lSegmentDateHolder_ptr = ioLegDateStructure._segmentDateHolder; @@ -537,7 +539,7 @@ } addingSucceeded = - addBomObjecdToBomHolder<SEGMENT_DATE_T> (*lSegmentDateHolder_ptr, + addBomObjectToBomHolder<SEGMENT_DATE_T> (*lSegmentDateHolder_ptr, ioSegmentDateStructure); assert (addingSucceeded == true); } @@ -560,8 +562,9 @@ assert (lLegCabinHolder_ptr != NULL); bool addingSucceeded = - addBomObjecdToBomHolder<LEG_CABIN_T> (*lLegCabinHolder_ptr, - ioLegCabinStructure); + addFullBomObjectToBomHolder<LEG_CABIN_T> (*lLegCabinHolder_ptr, + ioLegCabinStructure); + assert (addingSucceeded == true); SEGMENT_CABIN_HOLDER_T* lSegmentCabinHolder_ptr = @@ -571,7 +574,7 @@ } addingSucceeded = - addBomObjecdToBomHolder<SEGMENT_CABIN_T> (*lSegmentCabinHolder_ptr, + addBomObjectToBomHolder<SEGMENT_CABIN_T> (*lSegmentCabinHolder_ptr, ioSegmentCabinStructure); assert (addingSucceeded == true); } @@ -624,7 +627,7 @@ ioBomRootStructure.setDemandStreamHolder (*lDemandStreamHolder); } - return addBomObjecdToBomHolder <DEMAND_STREAM_T> (*lDemandStreamHolder, + return addBomObjectToBomHolder <DEMAND_STREAM_T> (*lDemandStreamHolder, ioDemandStreamStructure); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <qua...@us...> - 2010-02-17 14:57:12
|
Revision: 149 http://stdair.svn.sourceforge.net/stdair/?rev=149&view=rev Author: quannaus Date: 2010-02-17 14:57:06 +0000 (Wed, 17 Feb 2010) Log Message: ----------- [dev] Implemented the display for request. Modified Paths: -------------- trunk/stdair/stdair/STDAIR_Types.hpp trunk/stdair/stdair/bom/BomManager.cpp trunk/stdair/stdair/bom/BomManager.hpp Modified: trunk/stdair/stdair/STDAIR_Types.hpp =================================================================== --- trunk/stdair/stdair/STDAIR_Types.hpp 2010-02-17 14:48:47 UTC (rev 148) +++ trunk/stdair/stdair/STDAIR_Types.hpp 2010-02-17 14:57:06 UTC (rev 149) @@ -132,7 +132,7 @@ /** Time */ typedef boost::posix_time::time_duration Time_T; - /** Define an accurate time (date +time). */ + /** Define an accurate time (date+time). */ typedef boost::posix_time::ptime DateTime_T; /** Define a distance (kilometers). */ Modified: trunk/stdair/stdair/bom/BomManager.cpp =================================================================== --- trunk/stdair/stdair/bom/BomManager.cpp 2010-02-17 14:48:47 UTC (rev 148) +++ trunk/stdair/stdair/bom/BomManager.cpp 2010-02-17 14:57:06 UTC (rev 149) @@ -418,7 +418,7 @@ // Store current formatting flags of the given output stream std::ios::fmtflags oldFlags = oStream.flags(); - /* + /** #id, request_date (YYMMDD), request_time (HHMMSS), POS (three-letter code), origin (three-letter code), destination (three-letter code), preferred departure date (YYMMDD), preferred departure time (HHMM), @@ -434,9 +434,76 @@ #Duration of stay: irrelevant in case of one-way, but set to 0 #Frequent-flyer tier: G=Gold, S=Silver, K=Basic (Krisflyer), N=None */ + + // Request date&time + const DateTime_T& lRequestDateTime = iBookingRequest.getRequestDateTime(); + intDisplay (oStream, lRequestDateTime.date().year()); + intDisplay (oStream, lRequestDateTime.date().month()); + intDisplay (oStream, lRequestDateTime.date().day()); + oStream << ", "; + intDisplay (oStream, lRequestDateTime.time_of_day().hours()); + intDisplay (oStream, lRequestDateTime.time_of_day().minutes()); + intDisplay (oStream, lRequestDateTime.time_of_day().seconds()); + oStream << ", "; + // POS + oStream << iBookingRequest.getPOS() << ", "; + // Origin + oStream << iBookingRequest.getOrigin() << ", "; + // Destination + oStream << iBookingRequest.getDestination() << ", "; + // Preferred departure date + const Date_T& lPreferredDepartureDate = + iBookingRequest.getPreferedDepartureDate(); + intDisplay (oStream, lPreferredDepartureDate.year()); + intDisplay (oStream, lPreferredDepartureDate.month()); + intDisplay (oStream, lPreferredDepartureDate.day()); + oStream << ", "; + // Preferred departure time + const Duration_T& lPreferredDepartureTime = + iBookingRequest.getPreferredDepartureTime(); + intDisplay (oStream, lPreferredDepartureTime.hours()); + intDisplay (oStream, lPreferredDepartureTime.minutes()); + oStream << ", "; + // MIN & MAX preferred departure time (hardcode) + oStream << "0000, 2359, "; + // Preferred cabin + oStream << iBookingRequest.getPreferredCabin() << ", "; + // Trip type + oStream << iBookingRequest.getTripType() << ", "; + // Duration of stay + if (iBookingRequest.getTripType() == "OW") { + oStream << "0, "; + } else { + oStream << iBookingRequest.getStayDuration() << ", "; + } + // Frequent flyer tier + oStream << iBookingRequest.getFrequentFlyerType() << ", "; + // Willingness-to-pay + oStream << iBookingRequest.getWTP() << ", "; + // Disutility per stop (hardcode to 100) + oStream << "100, "; + // Preferred arrival date (hardcode to the preferred departure date) + intDisplay (oStream, lPreferredDepartureDate.year()); + intDisplay (oStream, lPreferredDepartureDate.month()); + intDisplay (oStream, lPreferredDepartureDate.day()); + oStream << ", "; + // Preferred arrival time (hardcode to 23:55 + oStream << "2355, "; + // Value of time + oStream <<iBookingRequest.getValueOfTime() << std::endl; // Reset formatting flags of the given output stream oStream.flags (oldFlags); } + + // //////////////////////////////////////////////////////////////////// + void BomManager::intDisplay (std::ostream& oStream, const int& iInt) { + const int dInt = iInt - static_cast<int>(iInt/100)*100; + if (dInt < 10) { + oStream << "0" << dInt; + } else { + oStream << dInt; + } + } } Modified: trunk/stdair/stdair/bom/BomManager.hpp =================================================================== --- trunk/stdair/stdair/bom/BomManager.hpp 2010-02-17 14:48:47 UTC (rev 148) +++ trunk/stdair/stdair/bom/BomManager.hpp 2010-02-17 14:57:06 UTC (rev 149) @@ -126,6 +126,8 @@ @param const LegCabin& Root of the BOM tree to be displayed. */ static void csvDisplay (std::ostream&, const BookingRequestStruct& iBookingRequest); + /** Helper fuction to display an interger. */ + static void intDisplay (std::ostream&, const int&); }; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-02-17 14:48:53
|
Revision: 148 http://stdair.svn.sourceforge.net/stdair/?rev=148&view=rev Author: denis_arnaud Date: 2010-02-17 14:48:47 +0000 (Wed, 17 Feb 2010) Log Message: ----------- [Test samples] Added a few schedule input files (with multi-leg flights and trains). Modified Paths: -------------- trunk/stdair/test/samples/schedule01.csv trunk/stdair/test/samples/schedule02.csv Added Paths: ----------- trunk/stdair/test/samples/schedule03.csv trunk/stdair/test/samples/schedule04.csv Modified: trunk/stdair/test/samples/schedule01.csv =================================================================== --- trunk/stdair/test/samples/schedule01.csv 2010-02-17 13:01:56 UTC (rev 147) +++ trunk/stdair/test/samples/schedule01.csv 2010-02-17 14:48:47 UTC (rev 148) @@ -1,7 +1,7 @@ -// Flights: AirlineCode; FlightNumber; Date-Range; ; DOW; Legs; Segments; -// Legs: BoardPoint; OffPoint; BoardTime; ArrivalDateOffSet; ArrivalTime; -// ElapsedTime; LegCabins; -// LegCabins: CabinCode; Capacity; -// Segments: Specific; -SQ; 11; 2010-01-15; 2010-02-28; 1111111; SIN; BKK; 08:20; 11:00; 07:40; Y; 300; 0; Y; YM; +// Flights: AirlineCode; FlightNumber; Date-Range; ; DOW; Legs; Segments; +// Legs: BoardPoint; OffPoint; BoardTime; ArrivalDateOffSet; ArrivalTime; +// ElapsedTime; LegCabins; +// LegCabins: CabinCode; Capacity; +// Segments: Specific; +SQ; 11; 2010-01-15; 2010-02-28; 1111111; SIN; BKK; 08:20; 11:00; 07:40; Y; 300; 0; Y; YM; SQ; 12; 2010-01-15; 2010-02-28; 1111111; SIN; HND; 09:20; 12:00; 07:40; Y; 200; 0; Y; YM; \ No newline at end of file Modified: trunk/stdair/test/samples/schedule02.csv =================================================================== --- trunk/stdair/test/samples/schedule02.csv 2010-02-17 13:01:56 UTC (rev 147) +++ trunk/stdair/test/samples/schedule02.csv 2010-02-17 14:48:47 UTC (rev 148) @@ -1,6 +1,6 @@ -// Flights: AirlineCode; FlightNumber; Date-Range; ; DOW; Legs; Segments; -// Legs: BoardPoint; OffPoint; BoardTime; ArrivalDateOffSet; ArrivalTime; -// ElapsedTime; LegCabins; -// LegCabins: CabinCode; Capacity; -// Segments: Specific; -BA; 117; 2009-01-15; 2009-01-28; 1000000; LHR; JFK; 08:20; 11:00; 07:40; Y; 300; 0; Y; YM; +// Flights: AirlineCode; FlightNumber; Date-Range; ; DOW; Legs; Segments; +// Legs: BoardPoint; OffPoint; BoardTime; ArrivalDateOffSet; ArrivalTime; +// ElapsedTime; LegCabins; +// LegCabins: CabinCode; Capacity; +// Segments: Specific; +BA; 117; 2009-01-15; 2009-01-28; 1000000; LHR; JFK; 08:20; 11:00; 07:40; Y; 300; 0; Y; YM; Copied: trunk/stdair/test/samples/schedule03.csv (from rev 147, trunk/stdair/test/samples/schedule02.csv) =================================================================== --- trunk/stdair/test/samples/schedule03.csv (rev 0) +++ trunk/stdair/test/samples/schedule03.csv 2010-02-17 14:48:47 UTC (rev 148) @@ -0,0 +1,21 @@ +// Flights: AirlineCode; FlightNumber; Date-Range; ; DOW; Legs; Segments; +// Legs: BoardPoint; OffPoint; BoardTime; ArrivalDateOffSet; ArrivalTime; +// ElapsedTime; LegCabins; +// LegCabins: CabinCode; Capacity; +// Segments: Specific; +BA; 9; 2007-04-20; 2007-06-30; 0000011; LHR; BKK; 22:00; 15:15 / +1; 11:15; F; 5; J; 12; W; 20; Y; 300; BKK; SYD; 18:10 / +1; 06:05 / +2; 08:55; F; 5; J; 12; W; 20; Y; 300; 0; F; FA; J; JCDI; W; WT; Y; YBHKMLSQ; +BA; 9; 2007-04-20; 2007-06-30; 1111100; LHR; BKK; 22:00; 15:15 / +1; 11:15; F; 5; J; 12; W; 20; Y; 300; BKK; SYD; 18:10 / +1; 06:05 / +2; 08:55; F; 5; J; 12; W; 20; Y; 300; 1; LHR; BKK; F; FA; J; JCDI; W; WT; Y; YBHKMLSQ; BKK; SYD; F; FA; J; JCDI; W; WT; Y; YBHKMLSQ; LHR; SYD; F; FA; J; JCDI; W; WT; Y; YBHKMLSQ; +BA; 117; 2007-04-20; 2007-06-30; 1111111; LHR; JFK; 08:20; 11:00; 07:40; F; 5; J; 12; W; 20; Y; 300; 0; F; FA; J; JCDI; W; WT; Y; YBHKM; +BA; 175; 2007-04-20; 2007-06-30; 1111111; LHR; JFK; 10:55; 13:35; 07:40; F; 5; J; 12; W; 20; Y; 300; 0; F; FA; J; JCDI; W; WT; Y; YBHKMRL; +BA; 179; 2007-04-20; 2007-06-30; 1111111; LHR; JFK; 18:05; 20:45; 07:40; F; 5; J; 12; W; 20; Y; 300; 0; F; FA; J; JCDI; W; WT; Y; YBHKMRVNELSQO; +BA; 207; 2007-04-20; 2007-06-30; 1111111; LHR; MIA; 09:40; 14:25; 09:45; F; 5; J; 12; W; 20; Y; 300; 0; F; FA; J; JCDI; W; WT; Y; YBHKMRVNELSQO; +BA; 279; 2007-04-20; 2007-06-30; 1111111; LHR; LAX; 10:05; 13:10; 11:05; F; 5; J; 12; W; 20; Y; 300; 0; F; FA; J; JCDI; W; WT; Y; YBHKMRVNELSQO; +BA; 295; 2007-04-20; 2007-06-30; 1111111; LHR; ORD; 11:35; 14:00; 08:25; F; 5; J; 12; W; 20; Y; 300; 0; F; FA; J; JCDI; W; WT; Y; YBHKMRVNELSQO; +BA; 341; 2007-04-20; 2007-06-30; 1111111; NCE; LHR; 08:55; 10:05; 02:10; J; 12; Y; 300; 0; J; JCDI; Y; YBHKMRVNEQLSO; +BA; 343; 2007-04-20; 2007-06-30; 1111111; NCE; LHR; 11:00; 12:15; 02:15; J; 12; Y; 300; 0; J; JCDI; Y; YBHKMRVNEQLSO; +BA; 345; 2007-04-20; 2007-06-30; 1111111; NCE; LHR; 16:20; 17:25; 02:05; J; 12; Y; 300; 0; J; JCDI; Y; YBHKMRVNEQLSO; +BA; 347; 2007-04-20; 2007-06-30; 1111111; NCE; LHR; 13:55; 15:00; 02:05; J; 12; Y; 300; 0; J; JCDI; Y; YBHKMRVNEQLSO; +AA; 101; 2007-04-20; 2007-06-30; 1111111; LHR; JFK; 09:55; 12:50; 07:55; G; 300; 0; G; GHQKLMVSOWN; +AA; 117; 2007-04-20; 2007-06-30; 1111111; JFK; LAX; 14:20; 17:25; 06:05; F; 12; J; 20; Y; 300; 0; F; FA; J; JDI; Y; YBGHQKLMVSOWN; +AA; 181; 2007-04-20; 2007-06-30; 1111111; JFK; LAX; 17:00; 20:00; 06:00; F; 12; J; 20; Y; 300; 0; F; FA; J; JDI; Y; YBHKMLWVGSNOQ; +AA; 585; 2007-04-20; 2007-06-30; 1111111; JFK; MIA; 15:40; 18:50; 03:10; F; 12; Y; 300; 0; F; FAP; Y; YBHKMLWVGSONQ; Copied: trunk/stdair/test/samples/schedule04.csv (from rev 147, trunk/stdair/test/samples/schedule02.csv) =================================================================== --- trunk/stdair/test/samples/schedule04.csv (rev 0) +++ trunk/stdair/test/samples/schedule04.csv 2010-02-17 14:48:47 UTC (rev 148) @@ -0,0 +1,6 @@ +// Flights: AirlineCode; FlightNumber; Date-Range; ; DOW; Legs; Segments; +// Legs: BoardPoint; OffPoint; BoardTime; ArrivalDateOffSet; ArrivalTime; +// ElapsedTime; LegCabins; +// LegCabins: CabinCode; Capacity; +// Segments: Specific; +XX; 701; 2010-02-17; 2010-02-18; 1111111; XDT; XGB; 07:00; 07:05; 00:06; Y; 100; XGB; XSH; 07:10; 08:03; 00:53; Y; 100; 0; Y; Y; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <qua...@us...> - 2010-02-17 13:02:02
|
Revision: 147 http://stdair.svn.sourceforge.net/stdair/?rev=147&view=rev Author: quannaus Date: 2010-02-17 13:01:56 +0000 (Wed, 17 Feb 2010) Log Message: ----------- [dev] Added POS and value of time into booking request. Modified Paths: -------------- trunk/stdair/stdair/basic/DemandCharacteristicTypes.hpp trunk/stdair/stdair/basic/DemandCharacteristics.cpp trunk/stdair/stdair/basic/DemandCharacteristics.hpp trunk/stdair/stdair/bom/BookingRequestStruct.cpp trunk/stdair/stdair/bom/BookingRequestStruct.hpp trunk/stdair/stdair/bom/DemandStreamContent.hpp Modified: trunk/stdair/stdair/basic/DemandCharacteristicTypes.hpp =================================================================== --- trunk/stdair/stdair/basic/DemandCharacteristicTypes.hpp 2010-02-17 09:21:30 UTC (rev 146) +++ trunk/stdair/stdair/basic/DemandCharacteristicTypes.hpp 2010-02-17 13:01:56 UTC (rev 147) @@ -24,6 +24,15 @@ /** Type definition for the arrival pattern inverse cumulative distribution. */ typedef std::multimap<Probability_T, FloatDuration_T> ArrivalPatternInverseCumulativeDistribution_T; + /** Define the point-of-sale probablity mass. */ + typedef CategoricalAttribute<AirportCode_T> POSProbabilityMass_T; + + /** Define the probability mass function type of point-of-sale. */ + typedef POSProbabilityMass_T::ProbabilityMassFunction_T POSProbabilityMassFunction_T; + + /** Define the inverse cumulative distribution of point-of-sale. */ + typedef POSProbabilityMass_T::InverseCumulativeDistribution_T POSInverserCumulativeDistribution_T; + /** Define the booking channel probablity mass. */ typedef CategoricalAttribute<ChannelLabel_T> ChannelProbabilityMass_T; @@ -77,6 +86,15 @@ /** Define the willingness-to-pay continuous inverse distribution. */ typedef WTPCumulativeDistribution_T::ContinuousInverseDistribution_T WTPContinuousInverseDistribution_T; + + /** Define the value of time cumulative distribution. */ + typedef ContinuousAttribute<PriceValue_T> ValueOfTimeCumulativeDistribution_T; + + /** Define the value of time continuous distribution. */ + typedef ValueOfTimeCumulativeDistribution_T::ContinuousDistribution_T ValueOfTimeContinuousDistribution_T; + + /** Define the value of time continuous inverse distribution. */ + typedef ValueOfTimeCumulativeDistribution_T::ContinuousInverseDistribution_T ValueOfTimeContinuousInverseDistribution_T; } #endif // __STDAIR_BAS_DEMANDCHARACTERISTICTYPES_HPP Modified: trunk/stdair/stdair/basic/DemandCharacteristics.cpp =================================================================== --- trunk/stdair/stdair/basic/DemandCharacteristics.cpp 2010-02-17 09:21:30 UTC (rev 146) +++ trunk/stdair/stdair/basic/DemandCharacteristics.cpp 2010-02-17 13:01:56 UTC (rev 147) @@ -15,19 +15,23 @@ DemandCharacteristics:: DemandCharacteristics (const DemandStreamKey_T& iKey, const ContinuousFloatDuration_T& iArrivalPattern, + const POSProbabilityMass_T& iPOSProbMass, const ChannelProbabilityMass_T& iChannelProbMass, const TripTypeProbabilityMass_T& iTripTypeProbMass, const StayDurationProbabilityMass_T& iStayDurationProbMass, const FrequentFlyerProbabilityMass_T& iFrequentFlyerProbMass, const PreferredDepartureTimeCumulativeDistribution_T& iPreferredDepartureTimeCumulativeDistribution, - const WTPCumulativeDistribution_T& iWTPCumulativeDistribution) + const WTPCumulativeDistribution_T& iWTPCumulativeDistribution, + const ValueOfTimeCumulativeDistribution_T& iValueOfTimeCumulativeDistribution) : _key (iKey), _arrivalPattern (iArrivalPattern), + _posProbabilityMass (iPOSProbMass), _channelProbabilityMass (iChannelProbMass), _tripTypeProbabilityMass (iTripTypeProbMass), _stayDurationProbabilityMass (iStayDurationProbMass), _frequentFlyerProbabilityMass (iFrequentFlyerProbMass), _preferredDepartureTimeCumulativeDistribution (iPreferredDepartureTimeCumulativeDistribution), - _wtpCumulativeDistribution (iWTPCumulativeDistribution) { + _wtpCumulativeDistribution (iWTPCumulativeDistribution), + _valueOfTimeCumulativeDistribution (iValueOfTimeCumulativeDistribution) { } // ///////////////////////////////////////////////////// @@ -44,12 +48,14 @@ DemandCharacteristics (const DemandCharacteristics& iDemandCharacteristics) : _key (iDemandCharacteristics._key), _arrivalPattern (iDemandCharacteristics._arrivalPattern), + _posProbabilityMass (iDemandCharacteristics._posProbabilityMass), _channelProbabilityMass (iDemandCharacteristics._channelProbabilityMass), _tripTypeProbabilityMass (iDemandCharacteristics._tripTypeProbabilityMass), _stayDurationProbabilityMass (iDemandCharacteristics._stayDurationProbabilityMass), _frequentFlyerProbabilityMass (iDemandCharacteristics._frequentFlyerProbabilityMass), _preferredDepartureTimeCumulativeDistribution (iDemandCharacteristics._preferredDepartureTimeCumulativeDistribution), - _wtpCumulativeDistribution (iDemandCharacteristics._wtpCumulativeDistribution) { + _wtpCumulativeDistribution (iDemandCharacteristics._wtpCumulativeDistribution), + _valueOfTimeCumulativeDistribution (iDemandCharacteristics._valueOfTimeCumulativeDistribution) { } // ///////////////////////////////////////////////////// @@ -89,6 +95,9 @@ << std::endl; oStr << "Arrival pattern (days from departure, proportion): "; oStr << _arrivalPattern.displayCumulativeDistribution() << std::endl; + oStr << "POS probability mass (POS, propotion): "; + oStr << _posProbabilityMass.displayProbabilityMassFunction() + << std::endl; oStr << "Channel probability mass (channel, propotion): "; oStr << _channelProbabilityMass.displayProbabilityMassFunction() << std::endl; @@ -106,6 +115,9 @@ oStr << "WTP cumulative distribution (WTP, proportion: "; oStr << _wtpCumulativeDistribution.displayCumulativeDistribution() << std::endl; + oStr << "Value of time cumulative distribution (value of time, proportion: "; + oStr << _valueOfTimeCumulativeDistribution.displayCumulativeDistribution() + << std::endl; return oStr.str(); Modified: trunk/stdair/stdair/basic/DemandCharacteristics.hpp =================================================================== --- trunk/stdair/stdair/basic/DemandCharacteristics.hpp 2010-02-17 09:21:30 UTC (rev 146) +++ trunk/stdair/stdair/basic/DemandCharacteristics.hpp 2010-02-17 13:01:56 UTC (rev 147) @@ -40,6 +40,11 @@ return _arrivalPattern; } + /** Get the point-of-sale probability mass. */ + const POSProbabilityMass_T& getPOSProbabilityMass() const { + return _posProbabilityMass; + } + /** Get the channel probability mass. */ const ChannelProbabilityMass_T& getChannelProbabilityMass() const { return _channelProbabilityMass; @@ -69,6 +74,11 @@ const WTPCumulativeDistribution_T& getWTPCumulativeDistribution() const { return _wtpCumulativeDistribution; } + + /** Get the value of time cumulative distribution. */ + const ValueOfTimeCumulativeDistribution_T& getValueOfTimeCumulativeDistribution () const { + return _valueOfTimeCumulativeDistribution; + } public: // ////////////// Display Support Methods ////////// @@ -81,12 +91,14 @@ /** Default constructor. */ DemandCharacteristics (const DemandStreamKey_T&, const ContinuousFloatDuration_T&, + const POSProbabilityMass_T&, const ChannelProbabilityMass_T&, const TripTypeProbabilityMass_T&, const StayDurationProbabilityMass_T&, const FrequentFlyerProbabilityMass_T&, const PreferredDepartureTimeCumulativeDistribution_T&, - const WTPCumulativeDistribution_T&); + const WTPCumulativeDistribution_T&, + const ValueOfTimeCumulativeDistribution_T&); /** Default constructor. */ // TODO: That copy constructor should be private @@ -110,6 +122,9 @@ and request date). */ const ContinuousFloatDuration_T _arrivalPattern; + /** POS probability mass. */ + const POSProbabilityMass_T _posProbabilityMass; + /** Channel probability mass. */ const ChannelProbabilityMass_T _channelProbabilityMass; @@ -127,7 +142,9 @@ /** Willingness-to-pay cumulative distribution */ const WTPCumulativeDistribution_T _wtpCumulativeDistribution; - + + /** Value of time cumulative distribution. */ + const ValueOfTimeCumulativeDistribution_T _valueOfTimeCumulativeDistribution; }; } Modified: trunk/stdair/stdair/bom/BookingRequestStruct.cpp =================================================================== --- trunk/stdair/stdair/bom/BookingRequestStruct.cpp 2010-02-17 09:21:30 UTC (rev 146) +++ trunk/stdair/stdair/bom/BookingRequestStruct.cpp 2010-02-17 13:01:56 UTC (rev 147) @@ -15,6 +15,7 @@ BookingRequestStruct:: BookingRequestStruct (const AirportCode_T& iOrigin, const AirportCode_T& iDestination, + const AirportCode_T& iPOS, const Date_T& iDepartureDate, const DateTime_T& iRequestDateTime, const CabinCode_T& iPreferredCabin, @@ -24,14 +25,16 @@ const DayDuration_T& iStayDuration, const FrequentFlyer_T& iFrequentFlyerType, const Duration_T& iPreferredDepartureTime, - const WTP_T& iWTP) + const WTP_T& iWTP, + const PriceValue_T& iValueOfTime) : _origin (iOrigin), _destination (iDestination), - _preferredDepartureDate (iDepartureDate), + _pos (iPOS), _preferredDepartureDate (iDepartureDate), _requestDateTime (iRequestDateTime), _preferredCabin (iPreferredCabin), _partySize (iPartySize), _channel (iChannel), _tripType (iTripType), _stayDuration (iStayDuration), _frequentFlyerType (iFrequentFlyerType), - _preferredDepartureTime (iPreferredDepartureTime), _wtp (iWTP) { + _preferredDepartureTime (iPreferredDepartureTime), _wtp (iWTP), + _valueOfTime (iValueOfTime) { } // ////////////////////////////////////////////////////////////////////// @@ -50,11 +53,13 @@ // ////////////////////////////////////////////////////////////////////// const std::string BookingRequestStruct::describe() const { std::ostringstream oStr; - oStr << _origin << " - " << _destination << " " << _preferredDepartureDate + oStr << _origin << " - " << _destination + << " " << _pos << " " << _preferredDepartureDate << " " << _requestDateTime << " " << _preferredCabin << " " << _partySize << " " << _channel << " " << _tripType << " " << _stayDuration << " " << _frequentFlyerType - << " " << _preferredDepartureTime << " " << _wtp; + << " " << _preferredDepartureTime << " " << _wtp + << " " << _valueOfTime; return oStr.str(); } Modified: trunk/stdair/stdair/bom/BookingRequestStruct.hpp =================================================================== --- trunk/stdair/stdair/bom/BookingRequestStruct.hpp 2010-02-17 09:21:30 UTC (rev 146) +++ trunk/stdair/stdair/bom/BookingRequestStruct.hpp 2010-02-17 13:01:56 UTC (rev 147) @@ -27,6 +27,11 @@ return _destination; } + /** Get the point-of-sale. */ + const AirportCode_T& getPOS() const { + return _pos; + } + /** Get the requested departure date. */ const Date_T& getPreferedDepartureDate() const { return _preferredDepartureDate; @@ -76,6 +81,11 @@ const WTP_T& getWTP() const { return _wtp; } + + /** Get the value of time. */ + const PriceValue_T& getValueOfTime () const { + return _valueOfTime; + } // /////////// Display support method ///////////// /** Dump a Business Object into an output stream. @@ -94,11 +104,11 @@ public : /** Constructor. */ BookingRequestStruct (const AirportCode_T&, const AirportCode_T&, - const Date_T&, const DateTime_T&, + const AirportCode_T&, const Date_T&, const DateTime_T&, const CabinCode_T&, const NbOfSeats_T&, const ChannelLabel_T&, const TripType_T&, const DayDuration_T&, const FrequentFlyer_T&, - const Duration_T&, const WTP_T&); + const Duration_T&, const WTP_T&, const PriceValue_T&); public : /** Default constructor. */ BookingRequestStruct (); @@ -116,6 +126,9 @@ /** Destination. */ const AirportCode_T _destination; + + /** Point-Of-Sale. */ + const AirportCode_T _pos; /** Departure date. */ const Date_T _preferredDepartureDate; @@ -147,6 +160,9 @@ /** Willingness-To-Pay. */ const WTP_T _wtp; + + /** Value of time. */ + const PriceValue_T _valueOfTime; }; } Modified: trunk/stdair/stdair/bom/DemandStreamContent.hpp =================================================================== --- trunk/stdair/stdair/bom/DemandStreamContent.hpp 2010-02-17 09:21:30 UTC (rev 146) +++ trunk/stdair/stdair/bom/DemandStreamContent.hpp 2010-02-17 13:01:56 UTC (rev 147) @@ -64,6 +64,11 @@ return _demandCharacteristics.getArrivalPattern(); } + /** Get the POS probability mass. */ + const POSProbabilityMass_T& getPOSProbabilityMass() const { + return _demandCharacteristics.getPOSProbabilityMass(); + } + /** Get the channel probability mass. */ const ChannelProbabilityMass_T& getChannelProbabilityMass() const { return _demandCharacteristics.getChannelProbabilityMass(); @@ -94,6 +99,11 @@ return _demandCharacteristics.getWTPCumulativeDistribution(); } + /** Get the value of time cumulative distribution. */ + const ValueOfTimeCumulativeDistribution_T& getValueOfTimeCumulativeDistribution() const { + return _demandCharacteristics.getValueOfTimeCumulativeDistribution(); + } + /** Get the mean number of requests. */ const NbOfRequests_T& getMeanNumberOfRequests() const { return _demandDistribution.getMeanNumberOfRequests(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <qua...@us...> - 2010-02-17 09:21:36
|
Revision: 146 http://stdair.svn.sourceforge.net/stdair/?rev=146&view=rev Author: quannaus Date: 2010-02-17 09:21:30 +0000 (Wed, 17 Feb 2010) Log Message: ----------- [Dev] Fixed a bug Modified Paths: -------------- trunk/stdair/stdair/basic/RandomGenerationContext.cpp trunk/stdair/stdair/basic/RandomGenerationContext.hpp trunk/stdair/stdair/bom/DemandStreamContent.hpp Modified: trunk/stdair/stdair/basic/RandomGenerationContext.cpp =================================================================== --- trunk/stdair/stdair/basic/RandomGenerationContext.cpp 2010-02-16 16:50:19 UTC (rev 145) +++ trunk/stdair/stdair/basic/RandomGenerationContext.cpp 2010-02-17 09:21:30 UTC (rev 146) @@ -26,7 +26,7 @@ // ////////////////////////////////////////////////////////////////////// void RandomGenerationContext::incrementGeneratedRequestsCounter () { - _numberOfRequestsGeneratedSoFar++; + ++_numberOfRequestsGeneratedSoFar; } } Modified: trunk/stdair/stdair/basic/RandomGenerationContext.hpp =================================================================== --- trunk/stdair/stdair/basic/RandomGenerationContext.hpp 2010-02-16 16:50:19 UTC (rev 145) +++ trunk/stdair/stdair/basic/RandomGenerationContext.hpp 2010-02-17 09:21:30 UTC (rev 146) @@ -23,7 +23,7 @@ } /** Get the number of requests generated so far. */ - const Count_T& getNumberOfRequestsGeneratedSoFar() const { + const Count_T& getNumberOfRequestsGeneratedSoFar () const { return _numberOfRequestsGeneratedSoFar; } Modified: trunk/stdair/stdair/bom/DemandStreamContent.hpp =================================================================== --- trunk/stdair/stdair/bom/DemandStreamContent.hpp 2010-02-16 16:50:19 UTC (rev 145) +++ trunk/stdair/stdair/bom/DemandStreamContent.hpp 2010-02-17 09:21:30 UTC (rev 146) @@ -111,8 +111,8 @@ } /** Get the number of requests generated so far. */ - const Count_T getNumberOfRequestsGeneratedSoFar() const { - return _randomGenerationContext.getCumulativeProbabilitySoFar();; + const Count_T& getNumberOfRequestsGeneratedSoFar() const { + return _randomGenerationContext.getNumberOfRequestsGeneratedSoFar(); } /** Get the seed of the random generator for the number of requests. */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |