From: <den...@us...> - 2010-11-14 16:39:50
|
Revision: 366 http://stdair.svn.sourceforge.net/stdair/?rev=366&view=rev Author: denis_arnaud Date: 2010-11-14 16:39:38 +0000 (Sun, 14 Nov 2010) Log Message: ----------- [Doc] Started the user guide and cleaned the tutorial. Modified Paths: -------------- trunk/stdair/Makefile.am trunk/stdair/batches/stdair.cpp trunk/stdair/doc/Makefile.am trunk/stdair/doc/doxygen_html.cfg.in trunk/stdair/doc/local/users_guide.doc trunk/stdair/doc/tutorial/src/sources.mk trunk/stdair/doc/tutorial/tutorial.doc trunk/stdair/test/archi_static_cast/archi_static_cast.cpp trunk/stdair/test/archi_static_cast/sources.mk trunk/stdair/test/architecture/Makefile.am trunk/stdair/test/architecture/architecture.cpp trunk/stdair/test/architecture/sources.mk trunk/stdair/test/stdair/Makefile.am trunk/stdair/test/stdair/sources.mk Added Paths: ----------- trunk/stdair/doc/tutorial/src/architecture.ref trunk/stdair/doc/tutorial/src/stdair.ref trunk/stdair/test/archi_static_cast/MP2BomHolder.hpp trunk/stdair/test/archi_static_cast/MP2BomManager.hpp trunk/stdair/test/archi_static_cast/MP2BomRoot.cpp trunk/stdair/test/archi_static_cast/MP2BomRoot.hpp trunk/stdair/test/archi_static_cast/MP2FacBom.hpp trunk/stdair/test/archi_static_cast/MP2FacBomManager.hpp trunk/stdair/test/archi_static_cast/MP2Inventory.cpp trunk/stdair/test/archi_static_cast/MP2Inventory.hpp trunk/stdair/test/archi_static_cast/MP2Types.hpp trunk/stdair/test/architecture/MPBomRoot.cpp trunk/stdair/test/architecture/MPBomRoot.hpp trunk/stdair/test/architecture/MPInventory.cpp trunk/stdair/test/architecture/MPInventory.hpp Removed Paths: ------------- trunk/stdair/doc/tutorial/src/completeex.cpp trunk/stdair/doc/tutorial/src/completeex.ref trunk/stdair/doc/tutorial/src/invobject.cpp trunk/stdair/doc/tutorial/src/invobject.ref trunk/stdair/doc/tutorial/src/makefile.tutorial trunk/stdair/doc/tutorial/src/rootinvobject.cpp trunk/stdair/doc/tutorial/src/rootinvobject.ref trunk/stdair/doc/tutorial/src/rootobject.cpp trunk/stdair/doc/tutorial/src/rootobject.ref trunk/stdair/test/archi_static_cast/BomHolder.hpp trunk/stdair/test/archi_static_cast/BomManager.hpp trunk/stdair/test/archi_static_cast/BomRoot.cpp trunk/stdair/test/archi_static_cast/BomRoot.hpp trunk/stdair/test/archi_static_cast/FacBom.hpp trunk/stdair/test/archi_static_cast/FacBomManager.hpp trunk/stdair/test/archi_static_cast/Inventory.cpp trunk/stdair/test/archi_static_cast/Inventory.hpp trunk/stdair/test/archi_static_cast/Types.hpp trunk/stdair/test/architecture/BomRoot.cpp trunk/stdair/test/architecture/BomRoot.hpp trunk/stdair/test/architecture/Inventory.cpp trunk/stdair/test/architecture/Inventory.hpp Property Changed: ---------------- trunk/stdair/doc/tutorial/src/ Modified: trunk/stdair/Makefile.am =================================================================== --- trunk/stdair/Makefile.am 2010-11-07 21:47:26 UTC (rev 365) +++ trunk/stdair/Makefile.am 2010-11-14 16:39:38 UTC (rev 366) @@ -60,10 +60,10 @@ $(MAKE) dist distdir=@PACKAGE_TARNAME@-`date +"%Y%m%d"` snapshot-html: - $(MAKE) -C doc dist-html html_tarname=@PACKAGE_TARNAME@-doc-`date +"%Y%m%d"` + $(MAKE) -C doc dist-html html_tarname=@PACKAGE_TARNAME@-doc-html-`date +"%Y%m%d"` snapshot-pdf: - $(MAKE) -C doc dist-pdf pdf_tarname=@PACKAGE_TARNAME@-pdf-`date +"%Y%m%d"` + $(MAKE) -C doc dist-pdf pdf_tarname=@PACKAGE_TARNAME@-doc-pdf-`date +"%Y%m%d"` upload: upload-src upload-html upload-pdf @@ -72,10 +72,10 @@ @PACKAGE_TARNAME@-@VERSION@.tar.bz2 upload-html: dist-html - @UPLOAD_COMMAND@ @PACKAGE_TARNAME@-doc-@VERSION@.tar.gz \ - @PACKAGE_TARNAME@-doc-@VERSION@.tar.bz2 + @UPLOAD_COMMAND@ @PACKAGE_TARNAME@-doc-html-@VERSION@.tar.gz \ + @PACKAGE_TARNAME@-doc-html-@VERSION@.tar.bz2 upload-pdf: dist-pdf - @UPLOAD_COMMAND@ @PACKAGE_TARNAME@-pdf-@VERSION@.tar.gz \ - @PACKAGE_TARNAME@-pdf-@VERSION@.tar.bz2 + @UPLOAD_COMMAND@ @PACKAGE_TARNAME@-doc-pdf-@VERSION@.tar.gz \ + @PACKAGE_TARNAME@-doc-pdf-@VERSION@.tar.bz2 Modified: trunk/stdair/batches/stdair.cpp =================================================================== --- trunk/stdair/batches/stdair.cpp 2010-11-07 21:47:26 UTC (rev 365) +++ trunk/stdair/batches/stdair.cpp 2010-11-14 16:39:38 UTC (rev 366) @@ -1,3 +1,7 @@ +/*! + * \page batch_stdair_cpp Command-Line Utility to Demonstrate Typical StdAir Usage + * \code + */ // STL #include <cassert> #include <iostream> @@ -565,7 +569,7 @@ // ///////// M A I N //////////// int main (int argc, char* argv[]) { - try { + // try { // Built-in bool isBuiltin; @@ -613,6 +617,12 @@ // Close the Log outputFile logOutputFile.close(); + /* + Note: as that program is not intended to be run on a server in + production, it is better not to catch the exceptions, as when it + happens (that an exception is throwned), that way we get the + call stack. + } catch (const std::exception& stde) { std::cerr << "Standard exception: " << stde.what() << std::endl; return -1; @@ -620,6 +630,11 @@ } catch (...) { return -1; } - + */ + return 0; } + +/*! + * \endcode + */ Modified: trunk/stdair/doc/Makefile.am =================================================================== --- trunk/stdair/doc/Makefile.am 2010-11-07 21:47:26 UTC (rev 365) +++ trunk/stdair/doc/Makefile.am 2010-11-14 16:39:38 UTC (rev 366) @@ -9,13 +9,16 @@ include $(top_srcdir)/stdair/command/sources.mk include $(top_srcdir)/stdair/service/sources.mk include $(top_srcdir)/stdair/sources.mk +include $(top_srcdir)/batches/sources.mk +include $(top_srcdir)/test/stdair/sources.mk +include $(top_srcdir)/test/architecture/sources.mk SUBDIRS = images tutorial local docdir = @docdir@ -html_tarname = @PACKAGE_TARNAME@-doc-@PACKAGE_VERSION@ -pdf_tarname = @PACKAGE_TARNAME@-pdf-@PACKAGE_VERSION@ +html_tarname = @PACKAGE_TARNAME@-doc-html-@PACKAGE_VERSION@ +pdf_tarname = @PACKAGE_TARNAME@-doc-pdf-@PACKAGE_VERSION@ noinst_DATA = EXTRA_DIST = $(noinst_DATA) @@ -28,14 +31,17 @@ html/index.html: doxygen_html.cfg \ $(doc_local_sources) $(html_local_sources) \ $(doc_tutorial_sources) $(cpp_tutorial_sources) \ - $(stdair_test_lib_h_sources) $(stdair_test_lib_cc_sources) \ $(stdair_service_h_sources) $(stdair_service_cc_sources) \ $(stdair_bas_h_sources) $(stdair_bas_cc_sources) \ $(stdair_bom_h_sources) $(stdair_bom_cc_sources) \ $(stdair_fac_h_sources) $(stdair_fac_cc_sources) \ $(stdair_dba_h_sources) $(stdair_dba_cc_sources) \ $(stdair_cmd_h_sources) $(stdair_cmd_cc_sources) \ - $(stdair_svc_h_sources) $(stdair_svc_cc_sources) + $(stdair_svc_h_sources) $(stdair_svc_cc_sources) \ + $(stdair_batches_h_sources) $(stdair_batches_cc_sources) \ + $(stdair_test_lib_h_sources) $(stdair_test_lib_cc_sources) \ + $(stdair_test_bin_h_sources) $(stdair_test_bin_cc_sources) \ + $(stdair_archi_h_sources) $(stdair_archi_cc_sources) doxygen $<; \ if test -d html; then \ cp $(srcdir)/images/stdair_logo.png html; \ Modified: trunk/stdair/doc/doxygen_html.cfg.in =================================================================== --- trunk/stdair/doc/doxygen_html.cfg.in 2010-11-07 21:47:26 UTC (rev 365) +++ trunk/stdair/doc/doxygen_html.cfg.in 2010-11-14 16:39:38 UTC (rev 366) @@ -584,7 +584,9 @@ INPUT = @top_srcdir@/@PACKAGE@ \ @top_srcdir@/doc/local \ @top_srcdir@/doc/tutorial \ - @top_srcdir@/test + @top_srcdir@/batches \ + @top_srcdir@/test/stdair \ + @top_srcdir@/test/architecture # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -645,7 +647,9 @@ # the \include command). EXAMPLE_PATH = @top_srcdir@/doc/tutorial/src \ - @top_srcdir@/test + @top_srcdir@/batches \ + @top_srcdir@/test/stdair \ + @top_srcdir@/test/architecture # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp Modified: trunk/stdair/doc/local/users_guide.doc =================================================================== --- trunk/stdair/doc/local/users_guide.doc 2010-11-07 21:47:26 UTC (rev 365) +++ trunk/stdair/doc/local/users_guide.doc 2010-11-14 16:39:38 UTC (rev 366) @@ -3,26 +3,16 @@ \section ug_toc Table of Contents - \ref ug_introduction -- \ref predefined_types - - \ref scalar_types - - \ref vector_types - - \ref matrix_types -- \ref using_vectors - - \ref defining_vectors - - \ref vector_manipulation - - \ref vector_converters - - \ref vector_functions -- \ref using_matrices - - \ref matrix_converters -- \ref array_class -- \ref random_variables - - \ref random_vec_mat - - \ref rng -- \ref deterministic_sources -- \ref filters -- \ref signal_processing -- \ref timer_class -- \ref itfile_class +- \ref ug_get_started + - \ref ug_get_source + - \ref ug_build_binaries + - \ref ug_build_and_run_tests + - \ref ug_install_project +- \ref ug_bom_tree + - \ref ug_bom_distribution + - \ref ug_bom_schedule + - \ref ug_bom_inventory +- \ref ug_extending_bom_tree \section ug_introduction Introduction @@ -30,587 +20,51 @@ The \c StdAir library contains classes for airline business management. This document does not cover all the aspects of the \c StdAir library. It does however explain the most important things you need to know in order - to start using \c StdAir. +to start using \c StdAir. -\section predefined_types Predefined Data Types +\section ug_get_started Get Started +\subsection ug_get_source Get the StdAir library -\subsection scalar_types Predefined Scalar Types +\subsection ug_build_binaries Build the StdAir project +To run the configuration script the first time, go to the +top directory (where the StdAir package has been un-packed), and issue +either of the following two commands, depending on whether the StdAir +project has been checked out from the Subversion repository or +downloaded as a tar-ball package from the Sourceforge Web site: + - <tt>./autogen.sh</tt> + - <tt>./configure</tt> -Apart from the standard C++ types e.g. \c char, \c short, \c int, \c long, -\c double, \c float, and \c long \c long, the following types are specific -for \c IT++: -- \c complex<double>: Contains real and imaginary parts of type \c double -- \c bin: Used for binary (0,1) data +\subsection ug_build_and_run_tests Build and Run the Tests +\subsection ug_install_project Install the StdAir Project (Binaries, Documentation) -\subsection vector_types Prepared Vector Types +\section ug_bom_tree Exploring the Predefined BOM Tree -A vector can in principle be of arbitrary type (that support addition, -subtraction, multiplication and division), since the general vector class \c -Vec<TYPE> is templated. However, the most commonly used vector types are -predefined. These predefined vector types are: +\c StdAir predefines a BOM (Business Object Model) tree specific to the +airline IT arena. -- \c vec: Basic vector type containing \c double -- \c cvec: Vector type containing \c complex<double> -- \c ivec: Vector type containing \c int -- \c bvec: Vector type containing \c bin -- \c svec: Vector type containing \c short +\subsection ug_bom_distribution Airline Distribution BOM Tree +- \c stdair::TravelSolutionStruct -The general vector class is used to define the specialized classes above. -The \c vec class is actually a \c Vec<double>. We urge you to use these -predefined classes instead of \c Vec<TYPE> when ever possible. +\subsection ug_bom_schedule Airline Network BOM Tree +- \c stdair::FlightPeriod +\subsection ug_bom_inventory Airline Inventory BOM Tree +- \c stdair::Inventory +- \c stdair::FlightDate -\subsection matrix_types Prepared Matrix Types +\subsubsection ug_bom_segment_branch Airline Inventory Marketing BOM Tree +- \c stdair::SegmentDate +- \c stdair::SegmentCabin +- \c stdair::FareFamily +- \c stdair::BookingClass -The general matrix class is called \c Mat<TYPE>. These predefined matrix -types are: +\subsubsection ug_bom_leg_branch Airline Inventory Operating BOM Tree +- \c stdair::LegDate +- \c stdair::LegCabin +- \c stdair::Bucket -- \c mat: Basic matrix type containing double -- \c cmat: Matrix type containing \c complex<double> -- \c imat: Matrix type containing \c int -- \c bmat: Matrix type containing \c bin -- \c smat: Matrix type containing \c short +\section ug_extending_bom_tree Extending the BOM Tree -As with vector, the general matrix class is used to define the specialized -classes above. The \c mat class is thus a \c Mat<double>. We urge you to use -these predefined classes instead of \c Mat<TYPE> whenever possible. - - -\section using_vectors Using Vectors - -Vectors and matrices in \c IT++ are very similar. We therefore begin to -describe the vector class in detail and then briefly explain the differences -regarding matrices in the next section. - - -\subsection defining_vectors Defining a Vector - -A vector containing elements of type \c double is defined with: - -\code -vec my_vector; -\endcode - -However, this will not assign a size (memory) to the vector. To assign size -10 to the vector we may use: - -\code -vec my_vector(10); -\endcode - -or - -\code -vec my_vector; -my_vector.set_size(10,false); -\endcode - -where the second parameter in the \c set_size call (\c true or \c false) -determines if you want to copy the contents of the old data area into the -new resized one, or not. This may be useful when down-sizing a vector, but -in this case it is not. It is also equivalent to use - -\code -my_vector.set_length(10,false); -\endcode - -instead of \c set_size. - -Observe that a declared vector (or matrix) is not cleared (the element -values are undefined). To clear a vector we simply write - -\code -my_vector.clear(); -\endcode - -or - -\code -my_vector.zeros(); -\endcode - -To fill the vector with ones we write - -\code -my_vector.ones(); -\endcode - -It is possible to retrieve the length (size) of a vector in any of the -following ways: - -\code -length_of_vector = my_vector.length(); -length_of_vector = my_vector.size(); -length_of_vector = length(my_vector); -\endcode - -To assign values to a vector - -\code -vec a = "0 0.7 5 9.3"; // that is a = [0 0.7 5 9.3] -ivec b = "0:5"; // that is b = [0 1 2 3 4 5] -vec c = "3:2.5:13"; // that is c = [3 5.5 8 10.5 13] -ivec d = "1:3:5,0:2:4"; // that is d = [1 3 5 0 2 4] -vec e("1.2,3.4,5.6"); // that is e = [1.2 3.4 5.6] -vec f; -f.set("1.0 2.0 3.0 4.0"); // that is f = [1.0 2.0 3.0 4.0] -vec g; -g = f; // that is g is a copy of f -\endcode - -A comma or a space character separates the vector elements. When assigning -or retrieving a specific vector element use - -\code -a(i) = 3.14; -a(i); -\endcode - -for element number \a i. Vector elements are numbered such that \a a(0) -denotes the first element. It is also possible to use square brackets as in -the C language, i.e. - -\code -a[i] = 3.14; -a[i]; -\endcode - -Parts or a vector are retrieved by - -\code -a.left(3); // a vector containing the first 3 elements of a -a.right(2); // a vector containing the last 2 elements of a -a.mid(1,2); // a vector containing the 2 elements starting with a(1) -a(2,4); // a vector containing all elements from a(2) to a(4) -\endcode - -If you have a vector called \a index_list containing indexes (\a ivec) you -may write - -\code -// this gives a vector containing all elements in index_list -a(index_list); -\endcode - -If you have a \c bvec called e.g. \a bin_list you may write - -\code -a.get(bin_list); // this gives a vector containing all elements a(i) - // for which bin_list(i) equals 1 -\endcode - -Have a look at the following example: - -\code -#include "itbase.h" - -int man() { - vec a = linspace(0,1,11); - ivec index_list = "3 5 2 2"; - bvec bin_list = "1 0 1 0 1 0 1 0 1 0 1"; - - cout << "a = " << a << endl; - cout << "a(index_list) = " << a(index_list) << endl; - cout << "a.get(bin_list) = " << a.get(bin_list) << endl; -} -\endcode - -When you run this program you will see - -\code -a = [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0] -a(index_list) = [0.3 0.5 0.2 0.2] -a(bin_list) = [0.0 0.2 0.4 0.6 0.8 1.0] -\endcode - - -\subsection vector_manipulation Vector Manipulation - -Below follows a listing of the most common vector manipulation commands that -are available. All examples are given for an \c ivec denoted \a my_ivec, but -of course this will work for other vector types as well. - -- \c shift_right: -\code -// Shift in scalar data (10) at position 0 -my_ivec.shift_right(10); - -// Shift in vector at position 0 -my_ivec.shift_right("10 4"); -\endcode - -- \c shift_left: -\code -// Shift in scalar data (10) at position Size()-1 -my_ivec.shift_left(10); - -// Shift in vector at position Size()-1 -my_ivec.shift_left("10 4"); -\endcode - -- \c replace_mid: -\code -// Replace part of vector from position (10) with the vector "11 13" -my_ivec.replace_mid(10,"11 13"); -\endcode - -- \c del: -\code -// Delete element at index (10), making vector size one less -my_ivec.del(10); -\endcode - -- \c ins: -\code -// Insert element at index (10), making vector size one extra -my_ivec.ins(10); -\endcode - -- \c split: -\code -// Splits vector at pos (10). Returns first part, keep second part. -ivec first_part = my_ivec.split(10); -\endcode - -- \c elem_mult: -\code -// Multiply two vectors element wise. -ivec my_product = elem_mult(my_invec1,my_ivec2); -\endcode - -- \c elem_div: -\code -// Dividide two vectors element wise. -ivec my_product = elem_div(my_invec1,my_ivec2); -\endcode - -- Calculation: +, -, *, / -\code -a = my_ivec1 + my_ivec2; // Addition of vectors -a = my_ivec + 10; // Addition of vector and scalar -a = my_ivec1 - my_ivec2; // Subtraction of vectors -a = my_ivec - 10; // Subtraction of vector and scalar -a = my_ivec * 10; // Multiplication of vector and scalar -a = my_ivec / 10; // Division of vector and scalar -\endcode - -- Calculation: +=, -=, *=, /=, |= -\code -a += my_ivec; // Addition of vectors (a = a+my_ivec) -my_ivec += 10; // Addition of vector and scalar (10) -a -= my_ivec; // Subtraction of vectors (a = a-my_ivec) -my_ivec -= 10; // Subtraction of vector and scalar (10) -my_ivec *= 10; // Multiplication of vector and scalar (10) -my_ivec /= 10; // Divsion of vector and scalar (10) -my_ivec |= a; // Element wise division -\endcode - -- \c concat -\code -a = concat(my_ivec1, my_ivec2); // concatenation of two vectors -\endcode - - -\subsection vector_converters Vector Converters - -In order to convert e.g an \c ivec to a \c vec we can write some thing like -\c my_vec = \c to_vec(my_ivec). The following converters are available: -- \c to_bvec, -- \c to_svec, -- \c to_ivec, -- \c to_vec, -- \c to_cvec. - - -\subsection vector_functions Vector Functions - -There are several functions that operate on vectors. Some examples are: -\c max, \c max_index, \c min, \c min_index, \c product, \c energy, -\c geometric_mean, \c mean, \c median, \c norm, \c round, \c variance, -\c ceil_i, \c floor_i, \c round_i, \c find. - -Examples of functions that generate different kinds of vectors are: -\c linspace, \c ones_b, \c ones_c, \c ones_i, \c ones \c zeros_b. There -are several more than these. Please refer to the IT++ reference manual -for a description of these. - - -\section using_matrices Using Matrices - -Matrices are two-dimensional arrays, and most of their functionality is -similar to that of vectors. The predefined matrix types are: - -- \c mat, -- \c cmat, -- \c imat, -- \c smat, -- \c bmat. - -Below follows some examples that are specific for matrices only: - -<ul> -<li> Define a matrix of type \c double with 3 rows and 4 columns -\code -mat a(3,4); -\endcode -</li> - -<li> Define a matrix of type \c int with 2 rows and 3 columns. A comma (,) -or space is used to separate columns and a semicolon (;) is used to separate -rows. -\code -imat a = "1 2 3;4 5 6"; -\endcode -</li> - -<li> Access to rows and columns with \c get_row and \c get_col -\code -a.get_row(1); // Returns the second row of the matrix b -a.get_col(0); // Returns the first column of the matrix b -\endcode -</li> - -<li> Set rows and columns with \c set_row and \c set_col -\code -a.set_row(1,"9 8 7"); // Set second row to "9 8 7" -a.set_col(0,"7 2"); // Set first column to "7 2" -\endcode -</li> - -<li> The size of a matrix -\code -// Set the size. "false" means "do not copy" -a.set_size(4,5,false); -int nr_of_rows = a.rows(); // return the number of rows -int nr_of_columns = a.cols(); // return the number of columns -\endcode -</li> - -<li> Access to parts of a matrix -\code -a(r,c); // Access to a single element. -a(i); // Access to a single element. Linear addressing, by rows. - -// Returns the sub-matrix from rows r1 to r2 and columns c1 to c2. -a(r1,r2,c1,c2); -\endcode -</li> - -<li> Copy rows and columns -\code -// Copy row number "from" to row number "to" -a.copy_row(to,from) - -// Copy column number "from" to column number "to" -a.copy_col(to,from) -\endcode -</li> - -<li> Swap rows and columns -\code -// Swap rows number r1 and r2 -a.swap_row(r1,r2) - -// Swap columns number c1 and c2 -a.swap_col(c1,c2) -\endcode -</li> - -<li> Horizontal and vertical concatenation -\code -// Equivalent to the MATLAB command c = [a b] -c = concat_horizontal(a,b); - -// Equivalent to the MATLAB command c = [a;b] -c = concat_vertical(a,b); -\endcode -</li> -</ul> - - -\subsection matrix_converters Matrix Converters - -The following converters are available: - -- \c to_mat, -- \c to_imat, -- \c to_cmat, -- \c to_bmat. - - -\section array_class The Array Class - -The \c itbase library contains, among other things, the \c Array class. An -\c Array can contain any type of data. Below is an example of an \c Array -containing vectors (\c vec): - -\code -#include <itpp/itbase.h> - -using namespace itpp; -using namespace std; - -int main() { - Array<vec> my_vec_array(2); - my_vec_array(0) = linspace(0,1,4); - my_vec_array(1) = "0.1 0.2 0.3 0.4 0.3 0.2 0.1"; - cout << "my_vec_array = " << my_vec_array << endl; - - return 0; -} -\endcode - - -\section random_variables Random Vectors, Matrices, and Generators - - -\subsection random_vec_mat Random Vectors and Matrices - -Random vectors and matrices are easily obtained by using these predefined -functions: - -- \c randb: Generates a random bit vector or matrix -- \c randu: Generates a random uniform vector or matrix -- \c randi: Generates a random index vector or matrix -- \c randray: Generates a random Rayleigh vector or matrix -- \c randrice: Generates a random Rice vector or matrix -- \c randexp: Generates a random Exponential vector or matrix -- \c randn: Generates a random Gaussian vector or matrix -- \c randn_c: Generates a random complex Gaussian vector or matrix - - -\subsection rng Random Number Generators (RNG) - -The following discrete valued random number generators are available. More -information about these can be found in the IT++ reference manual. - -- \c Bernoulli_RNG -- \c I_Uniform_RNG - -The following continuous valued random number generators are available. - -- \c Uniform_RNG -- \c Exponential_RNG -- \c Normal_RNG -- \c Complex_Normal_RNG -- \c AR1_Normal_RNG -- \c Weibull_RNG -- \c Rayleigh_RNG -- \c Rice_RNG - - -\section deterministic_sources Deterministic Sources - -The following deterministic sources are available: - -- \c Sine_Source -- \c Square_Source -- \c Triangle_Source -- \c Sawtooth_Source -- \c Impulse_Source -- \c Pattern_Source - - -\section filters Filter Classes and Functions - -The following filter classes are available: - -- \c AR_Filter -- \c MA_Filter -- \c ARMA_Filter -- \c Freq_Filt - -The following filter functions are available: - -- \c filter - - -\subsection signal_processing Signal Processing Functions - -The following signal processing functions are available: - -- \c a2k, \c k2a, \c a2lar, \c k2lar, \c lpc, \c levinsson, \c lerouxguegen -- \c fft, \c ifft, \c fft_real, \c ifft_real -- \c dct, \c idct -- \c spectrum -- \c cov, \c xcorr -- \c chirp -- \c dht, \c dht2, \c dwht, \c dhwt2, \c self_dht, \c self_dwht -- \c filter_spectrum -- \c filter_whiteness - - -\section timer_class Timer Classes - -The \c Real_Timer class can be used to measure execution time of a program -as in the following example: - -\code -#include <itpp/itbase.h> - -using namespace itpp; -using namespace std; - -int main() { - long sum = 0; - Real_Timer my_timer; - - my_timer.tic(); - for (int i=0; i<10000000; i++) { - sum += i; - } - my_timer.toc_print(); - - cout << "The sum is " << sum << endl; - - return 0; -} -\endcode - - -\section itfile_class Reading and Writing to Files - -The following example saves the variable \a a to the file -\c my_file_name.it: - -\code -#include <itpp/itbase.h> - -using namespace itpp; - -int main() { - it_file my_file("my_file_name.it"); - vec a = "1.0 2.0 3.0 4.0"; - my_file << Name("a") << a; - - return 0; -} -\endcode - -The following example reads the variable \a a from the file -\c my_file_name.it and prints it: -\code -#include <itpp/itbase.h> - -using namespace itpp; -using namespace std; - -int main() { - it_file my_file("my_file_name.it"); - vec a; - my_file >> Name("a") >> a; - cout << "a = " << a << endl; - - return 0; -} -\endcode - -Note that <tt>*.it</tt> files can be read and written in Matlab/Octave by -using the \c itload.m and \c itsave.m functions. - -Also available is the class \c it_ifile that can only be used for reading of -files. - */ Property changes on: trunk/stdair/doc/tutorial/src ___________________________________________________________________ Modified: svn:ignore - Makefile Makefile.in rootobject invobject rootinvobject completeex + Makefile Makefile.in Added: trunk/stdair/doc/tutorial/src/architecture.ref =================================================================== --- trunk/stdair/doc/tutorial/src/architecture.ref (rev 0) +++ trunk/stdair/doc/tutorial/src/architecture.ref 2010-11-14 16:39:38 UTC (rev 366) @@ -0,0 +1,2 @@ +Inventory: BA +Inventory: AF Deleted: trunk/stdair/doc/tutorial/src/completeex.cpp =================================================================== --- trunk/stdair/doc/tutorial/src/completeex.cpp 2010-11-07 21:47:26 UTC (rev 365) +++ trunk/stdair/doc/tutorial/src/completeex.cpp 2010-11-14 16:39:38 UTC (rev 366) @@ -1,347 +0,0 @@ -/*! - * \page tut_completeex_cpp Tutorial Full Basic Example - * \code - */ -// STL -#include <cassert> -// StdAir -#include <stdair/bom/BomRoot.hpp> -#include <stdair/bom/Inventory.hpp> -#include <stdair/bom/InventoryTypes.hpp> -#include <stdair/bom/FlightDate.hpp> -#include <stdair/bom/FlightDateTypes.hpp> -#include <stdair/bom/LegDate.hpp> -#include <stdair/bom/LegDateTypes.hpp> -#include <stdair/bom/LegCabin.hpp> -#include <stdair/bom/LegCabinTypes.hpp> -#include <stdair/bom/SegmentDate.hpp> -#include <stdair/bom/SegmentDateTypes.hpp> -#include <stdair/bom/SegmentCabin.hpp> -#include <stdair/bom/SegmentCabinTypes.hpp> -#include <stdair/bom/FareFamily.hpp> -#include <stdair/bom/FareFamilyTypes.hpp> -#include <stdair/bom/BookingClass.hpp> -#include <stdair/bom/BookingClassTypes.hpp> -#include <stdair/bom/BomManager.hpp> // Utility class to display BOM objects -#include <stdair/factory/FacBomManager.hpp> - -// /////////////////////// M A I N /////////////////////////// -int main() { - - // ///////////// Step 0.0: Initialisation //////////// - // Create the root of the Bom tree (i.e., a BomRoot object) - stdair::BomRoot& lBomRoot = - stdair::FacBom<stdair::BomRoot>::instance().create(); - - // Step 0.1: Inventory level - // Create an Inventory for BA - const stdair::InventoryKey lBAKey ("BA"); - stdair::Inventory& lBAInv = - stdair::FacBom<stdair::Inventory>::instance().create (lBAKey); - stdair::FacBomManager::instance().addToList (lBomRoot, lBAInv); - - // Create an Inventory for AF - const stdair::InventoryKey lAFKey ("AF"); - stdair::Inventory& lAFInv = - stdair::FacBom<stdair::Inventory>::instance().create (lAFKey); - stdair::FacBomManager::instance().addToList (lBomRoot, lAFInv); - - // ////// BA /////// - // Step 0.2: Flight-date level - // Create a FlightDate (BA15/10-JUN-2010) for BA's Inventory - stdair::FlightNumber_T lFlightNumber = 15; - stdair::Date_T lDate (2010, 6, 10); - stdair::FlightDateKey lFlightDateKey (lFlightNumber, lDate); - - stdair::FlightDate& lBA15_20100610_FD = - stdair::FacBom<stdair::FlightDate>::instance().create (lFlightDateKey); - stdair::FacBomManager::instance().addToList (lBAInv, lBA15_20100610_FD); - - // Step 0.3: Segment-date level - // Create a first SegmentDate (LHR-SYD) for BA's Inventory - const stdair::AirportCode_T lLHR ("LHR"); - const stdair::AirportCode_T lSYD ("SYD"); - stdair::SegmentDateKey lSegmentDateKey (lLHR, lSYD); - - stdair::SegmentDate& lLHRSYDSegment = - stdair::FacBom<stdair::SegmentDate>::instance().create (lSegmentDateKey); - stdair::FacBomManager::instance().addToList (lBA15_20100610_FD, - lLHRSYDSegment); - - // Create a second SegmentDate (LHR-BKK) for BA's Inventory - const stdair::AirportCode_T lBKK ("BKK"); - lSegmentDateKey = stdair::SegmentDateKey (lLHR, lBKK); - - stdair::SegmentDate& lLHRBKKSegment = - stdair::FacBom<stdair::SegmentDate>::instance().create (lSegmentDateKey); - stdair::FacBomManager::instance().addToList (lBA15_20100610_FD, - lLHRBKKSegment); - - // Create a third SegmentDate (BKK-SYD) for BA's Inventory - lSegmentDateKey = stdair::SegmentDateKey (lBKK, lSYD); - - stdair::SegmentDate& lBKKSYDSegment = - stdair::FacBom<stdair::SegmentDate>::instance().create (lSegmentDateKey); - stdair::FacBomManager::instance().addToList (lBA15_20100610_FD, - lBKKSYDSegment); - - // Step 0.4: Leg-date level - // Create a first LegDate (LHR) for BA's Inventory - stdair::LegDateKey lLegDateKey (lLHR); - - stdair::LegDate& lLHRLeg = - stdair::FacBom<stdair::LegDate>::instance().create (lLegDateKey); - stdair::FacBomManager::instance().addToList (lBA15_20100610_FD, lLHRLeg); - - // Create a second LegDate (BKK) - lLegDateKey = stdair::LegDateKey (lBKK); - - stdair::LegDate& lBKKLeg = - stdair::FacBom<stdair::LegDate>::instance().create (lLegDateKey); - stdair::FacBomManager::instance().addToList (lBA15_20100610_FD, lBKKLeg); - - // Step 0.5: segment-cabin level - // Create a SegmentCabin (Y) for the Segment LHR-BKK of BA's Inventory - const stdair::CabinCode_T lY ("Y"); - stdair::SegmentCabinKey lYSegmentCabinKey (lY); - - stdair::SegmentCabin& lLHRBKKSegmentYCabin = - stdair::FacBom<stdair::SegmentCabin>::instance().create(lYSegmentCabinKey); - stdair::FacBomManager::instance().addToList (lLHRBKKSegment, - lLHRBKKSegmentYCabin); - - // Create a SegmentCabin (Y) of the Segment BKK-SYD; - stdair::SegmentCabin& lBKKSYDSegmentYCabin = - stdair::FacBom<stdair::SegmentCabin>::instance().create(lYSegmentCabinKey); - stdair::FacBomManager::instance().addToList (lBKKSYDSegment, - lBKKSYDSegmentYCabin); - - // Create a SegmentCabin (Y) of the Segment LHR-SYD; - stdair::SegmentCabin& lLHRSYDSegmentYCabin = - stdair::FacBom<stdair::SegmentCabin>::instance().create(lYSegmentCabinKey); - stdair::FacBomManager::instance().addToList (lLHRSYDSegment, - lLHRSYDSegmentYCabin); - - // Step 0.6: leg-cabin level - // Create a LegCabin (Y) for the Leg LHR-BKK on BA's Inventory - stdair::LegCabinKey lYLegCabinKey (lY); - - stdair::LegCabin& lLHRLegYCabin = - stdair::FacBom<stdair::LegCabin>::instance().create (lYLegCabinKey); - stdair::FacBomManager::instance().addToList (lLHRLeg, lLHRLegYCabin); - - // Create a LegCabin (Y) for the Leg BKK-SYD - stdair::LegCabin& lBKKLegYCabin = - stdair::FacBom<stdair::LegCabin>::instance().create (lYLegCabinKey); - stdair::FacBomManager::instance().addToList (lBKKLeg, lBKKLegYCabin); - - // Step 0.7: fare family level - // Create a FareFamily (1) for the Segment LHR-BKK, cabin Y on BA's Inv - const stdair::FamilyCode_T l1 ("1"); - stdair::FareFamilyKey l1FareFamilyKey (l1); - - stdair::FareFamily& lLHRBKKSegmentYCabin1Family = - stdair::FacBom<stdair::FareFamily>::instance().create(l1FareFamilyKey); - stdair::FacBomManager::instance().addToList (lLHRBKKSegmentYCabin, - lLHRBKKSegmentYCabin1Family); - - // Create a FareFamily (1) for the Segment BKK-SYD, cabin Y on BA's Inv - stdair::FareFamily& lBKKSYDSegmentYCabin1Family = - stdair::FacBom<stdair::FareFamily>::instance().create(l1FareFamilyKey); - stdair::FacBomManager::instance().addToList (lBKKSYDSegmentYCabin, - lBKKSYDSegmentYCabin1Family); - - // Create a FareFamily (1) for the Segment LHR-SYD, cabin Y on BA's Inv - stdair::FareFamily& lLHRSYDSegmentYCabin1Family = - stdair::FacBom<stdair::FareFamily>::instance().create(l1FareFamilyKey); - stdair::FacBomManager::instance().addToList (lLHRSYDSegmentYCabin, - lLHRSYDSegmentYCabin1Family); - - // Step 0.8: booking class level - // Create a BookingClass (Q) for the Segment LHR-BKK, cabin Y, fare - // family 1 on BA's Inv - const stdair::ClassCode_T lQ ("Q"); - stdair::BookingClassKey lQBookingClassKey (lQ); - - stdair::BookingClass& lLHRBKKSegmentYCabin1FamilyQClass = - stdair::FacBom<stdair::BookingClass>::instance().create(lQBookingClassKey); - stdair::FacBomManager::instance().addToList (lLHRBKKSegmentYCabin1Family, - lLHRBKKSegmentYCabin1FamilyQClass); - - // Create a BookingClass (Q) for the Segment BKK-SYD, cabin Y, fare - // family 1 on BA's Inv - stdair::BookingClass& lBKKSYDSegmentYCabin1FamilyQClass = - stdair::FacBom<stdair::BookingClass>::instance().create(lQBookingClassKey); - stdair::FacBomManager::instance().addToList (lBKKSYDSegmentYCabin1Family, - lBKKSYDSegmentYCabin1FamilyQClass); - - // Create a BookingClass (Q) for the Segment LHR-SYD, cabin Y, fare - // family 1 on BA's Inv - stdair::BookingClass& lLHRSYDSegmentYCabin1FamilyQClass = - stdair::FacBom<stdair::BookingClass>::instance().create(lQBookingClassKey); - stdair::FacBomManager::instance().addToList (lLHRSYDSegmentYCabin1Family, - lLHRSYDSegmentYCabin1FamilyQClass); - - // ////// AF /////// - // Step 0.2: Flight-date level - // Create a FlightDate (AF102/20-MAR-2010) for AF's Inventory - lFlightNumber = 102; - lDate = stdair::Date_T (2010, 3, 20); - lFlightDateKey = stdair::FlightDateKey (lFlightNumber, lDate); - - stdair::FlightDate& lAF102_20100320_FD = - stdair::FacBom<stdair::FlightDate>::instance().create (lFlightDateKey); - stdair::FacBomManager::instance().addToList (lAFInv, lAF102_20100320_FD); - - // Step 0.3: Segment-date level - // Create a SegmentDate (CDG-SFO) for AF's Inventory - const stdair::AirportCode_T lCDG ("CDG"); - const stdair::AirportCode_T lSFO ("SFO"); - lSegmentDateKey = stdair::SegmentDateKey (lCDG, lSFO); - - stdair::SegmentDate& lCDGSFOSegment = - stdair::FacBom<stdair::SegmentDate>::instance().create (lSegmentDateKey); - stdair::FacBomManager::instance().addToList (lAF102_20100320_FD, - lCDGSFOSegment); - - // Step 0.4: Leg-date level - // Create a LegDate (CDG) for AF's Inventory - lLegDateKey = stdair::LegDateKey (lCDG); - - stdair::LegDate& lCDGLeg = - stdair::FacBom<stdair::LegDate>::instance().create (lLegDateKey); - stdair::FacBomManager::instance().addToList (lAF102_20100320_FD, lCDGLeg); - - // Step 0.5: segment-cabin level - // Create a SegmentCabin (Y) for the Segment CDG-SFO of AF's Inventory - stdair::SegmentCabin& lCDGSFOSegmentYCabin = - stdair::FacBom<stdair::SegmentCabin>::instance().create(lYSegmentCabinKey); - stdair::FacBomManager::instance().addToList (lCDGSFOSegment, - lCDGSFOSegmentYCabin); - - // Step 0.6: leg-cabin level - // Create a LegCabin (Y) for the Leg CDG-SFO on AF's Inventory - stdair::LegCabin& lCDGLegYCabin = - stdair::FacBom<stdair::LegCabin>::instance().create (lYLegCabinKey); - stdair::FacBomManager::instance().addToList (lCDGLeg, lCDGLegYCabin); - - // Step 0.7: fare family level - // Create a fareFamily (1) for the Segment CDG-SFO, cabin Y on AF's Inv - stdair::FareFamily& lCDGSFOSegmentYCabin1Family = - stdair::FacBom<stdair::FareFamily>::instance().create(l1FareFamilyKey); - stdair::FacBomManager::instance().addToList (lCDGSFOSegmentYCabin, - lCDGSFOSegmentYCabin1Family); - - // Step 0.8: booking class level - // Create a BookingClass (Q) for the Segment CDG-SFO, cabin Y, fare - // family 1 on AF's Inv - stdair::BookingClass& lCDGSFOSegmentYCabin1FamilyQClass = - stdair::FacBom<stdair::BookingClass>::instance().create(lQBookingClassKey); - stdair::FacBomManager::instance().addToList (lCDGSFOSegmentYCabin1Family, - lCDGSFOSegmentYCabin1FamilyQClass); - - - // /////////// Step 1.0: Display the BOM tree ////////// - // 1.0. Bom root level - std::cout << lBomRoot << std::endl; - - // 1.1. Inventory level - const stdair::InventoryList_T& lInventoryList = - stdair::BomManager::getList<stdair::Inventory> (lBomRoot); - for (stdair::InventoryList_T::const_iterator itInv = lInventoryList.begin(); - itInv != lInventoryList.end(); ++itInv) { - const stdair::Inventory* lInv_ptr = *itInv; - assert (lInv_ptr != NULL); - - std::cout << " " << *lInv_ptr << std::endl; - - // 1.2. FlightDate level - const stdair::FlightDateList_T& lFlightDateList = - stdair::BomManager::getList<stdair::FlightDate> (*lInv_ptr); - for (stdair::FlightDateList_T::const_iterator itFD=lFlightDateList.begin(); - itFD != lFlightDateList.end(); ++itFD) { - const stdair::FlightDate* lFD_ptr = *itFD; - assert (lFD_ptr != NULL); - - std::cout << " " << *lFD_ptr << std::endl; - - // 1.4. LegDate level - const stdair::LegDateList_T& lLegDateList = - stdair::BomManager::getList<stdair::LegDate> (*lFD_ptr); - for (stdair::LegDateList_T::const_iterator itLD = - lLegDateList.begin(); - itLD != lLegDateList.end(); ++itLD) { - const stdair::LegDate* lLD_ptr = *itLD; - assert (lLD_ptr != NULL); - - std::cout << " " << *lLD_ptr << std::endl; - - // 1.6. LegCabin level - const stdair::LegCabinList_T& lLegCabinList = - stdair::BomManager::getList<stdair::LegCabin> (*lLD_ptr); - for (stdair::LegCabinList_T::const_iterator itLC = - lLegCabinList.begin(); - itLC != lLegCabinList.end(); ++itLC) { - const stdair::LegCabin* lLC_ptr = *itLC; - assert (lLC_ptr != NULL); - - std::cout << " " << *lLC_ptr << std::endl; - } - } - - // 1.3. SegmentDate level - const stdair::SegmentDateList_T& lSegmentDateList = - stdair::BomManager::getList<stdair::SegmentDate> (*lFD_ptr); - for (stdair::SegmentDateList_T::const_iterator itSD = - lSegmentDateList.begin(); - itSD != lSegmentDateList.end(); ++itSD) { - const stdair::SegmentDate* lSD_ptr = *itSD; - assert (lSD_ptr != NULL); - - std::cout << " " << *lSD_ptr << std::endl; - - // 1.5. SegmentCabin level - const stdair::SegmentCabinList_T& lSegmentCabinList = - stdair::BomManager::getList<stdair::SegmentCabin> (*lSD_ptr); - for (stdair::SegmentCabinList_T::const_iterator itSC = - lSegmentCabinList.begin(); - itSC != lSegmentCabinList.end(); ++itSC) { - const stdair::SegmentCabin* lSC_ptr = *itSC; - assert (lSC_ptr != NULL); - - std::cout << " " << *lSC_ptr << std::endl; - - // 1.7. FareFamily level - const stdair::FareFamilyList_T& lFareFamilyList = - stdair::BomManager::getList<stdair::FareFamily> (*lSC_ptr); - for (stdair::FareFamilyList_T::const_iterator itFF = - lFareFamilyList.begin(); - itFF != lFareFamilyList.end(); ++itFF) { - const stdair::FareFamily* lFF_ptr = *itFF; - assert (lFF_ptr != NULL); - - std::cout << " " << *lFF_ptr << std::endl; - - // 1.8. BookingClass level - const stdair::BookingClassList_T& lBookingClassList = - stdair::BomManager::getList<stdair::BookingClass> (*lFF_ptr); - for (stdair::BookingClassList_T::const_iterator itBC = - lBookingClassList.begin(); - itBC != lBookingClassList.end(); ++itBC) { - const stdair::BookingClass* lBC_ptr = *itBC; - assert (lBC_ptr != NULL); - - std::cout << " " << *lBC_ptr << std::endl; - } - } - } - } - } - } - // Exit program: - return 0; -} - -/*! - * \endcode - */ Deleted: trunk/stdair/doc/tutorial/src/completeex.ref =================================================================== --- trunk/stdair/doc/tutorial/src/completeex.ref 2010-11-07 21:47:26 UTC (rev 365) +++ trunk/stdair/doc/tutorial/src/completeex.ref 2010-11-14 16:39:38 UTC (rev 366) @@ -1,27 +0,0 @@ - -- ROOT -- - BA - 15, 2010-Jun-10 - LHR - Y - BKK - Y - LHR-SYD - Y - 1 - Q - LHR-BKK - Y - 1 - Q - BKK-SYD - Y - 1 - Q - AF - 102, 2010-Mar-20 - CDG - Y - CDG-SFO - Y - 1 - Q Deleted: trunk/stdair/doc/tutorial/src/invobject.cpp =================================================================== --- trunk/stdair/doc/tutorial/src/invobject.cpp 2010-11-07 21:47:26 UTC (rev 365) +++ trunk/stdair/doc/tutorial/src/invobject.cpp 2010-11-14 16:39:38 UTC (rev 366) @@ -1,29 +0,0 @@ -/*! - * \page tut_invobject_cpp Tutorial for the BOM Inventory Object Creation - * \code - */ -// StdAir -#include <stdair/bom/BomRoot.hpp> -#include <stdair/bom/Inventory.hpp> -#include <stdair/factory/FacBomManager.hpp> - -// /////////////////////// M A I N /////////////////////////// -int main() { - - // Create an inventory key (i.e., an airline code) - const stdair::InventoryKey lBAKey ("BA"); - - // Create an inventory object whose airline code is BA - stdair::Inventory& lBAInv = - stdair::FacBom<stdair::Inventory>::instance().create (lBAKey); - - // Display the inventory object (including its key, i.e., the airline code) - std::cout << " Inventory: " << lBAInv << std::endl; - - // Exit program - return 0; -} - -/*! - * \endcode - */ Deleted: trunk/stdair/doc/tutorial/src/invobject.ref =================================================================== --- trunk/stdair/doc/tutorial/src/invobject.ref 2010-11-07 21:47:26 UTC (rev 365) +++ trunk/stdair/doc/tutorial/src/invobject.ref 2010-11-14 16:39:38 UTC (rev 366) @@ -1 +0,0 @@ - Inventory: BA Deleted: trunk/stdair/doc/tutorial/src/makefile.tutorial =================================================================== --- trunk/stdair/doc/tutorial/src/makefile.tutorial 2010-11-07 21:47:26 UTC (rev 365) +++ trunk/stdair/doc/tutorial/src/makefile.tutorial 2010-11-14 16:39:38 UTC (rev 366) @@ -1,336 +0,0 @@ -# Makefile inspired from the makefiles generated by the GNU Autotools (autoconf -# automake, configure, libtool) -LIBDIR=`test -d '/usr/lib64' && echo '/usr/lib64' || echo '/usr/lib'` -ARCHI=`test -d '/usr/lib64' && echo 'x86_64' || echo 'x86'` - -# -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -build_triplet = $(ARCHI)-unknown-linux-gnu -host_triplet = $(ARCHI)-unknown-linux-gnu -DIST_COMMON = $(srcdir)/makefile.tutorial -bin_PROGRAMS = rootobject$(EXEEXT) invobject$(EXEEXT) rootinvobject$(EXEEXT) completeex$(EXEEXT) -subdir = tutorial/src -PROGRAMS = $(bin_PROGRAMS) -am_rootobject_OBJECTS = rootobject-rootobject.$(OBJEXT) -rootobject_OBJECTS = $(am_rootobject_OBJECTS) -rootobject_DEPENDENCIES = -rootobject_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CXXLD) $(rootobject_CXXFLAGS) $(CXXFLAGS) \ - $(rootobject_LDFLAGS) $(LDFLAGS) -o $@ -am_invobject_OBJECTS = invobject-invobject.$(OBJEXT) -invobject_OBJECTS = $(am_invobject_OBJECTS) -invobject_DEPENDENCIES = -invobject_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(invobject_CXXFLAGS) \ - $(CXXFLAGS) $(invobject_LDFLAGS) $(LDFLAGS) -o $@ -am_rootinvobject_OBJECTS = rootinvobject-rootinvobject.$(OBJEXT) -rootinvobject_OBJECTS = $(am_rootinvobject_OBJECTS) -rootinvobject_DEPENDENCIES = -rootinvobject_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(rootinvobject_CXXFLAGS) \ - $(CXXFLAGS) $(rootinvobject_LDFLAGS) $(LDFLAGS) -o $@ -am_completeex_OBJECTS = completeex-completeex.$(OBJEXT) -completeex_OBJECTS = $(am_completeex_OBJECTS) -completeex_DEPENDENCIES = -completeex_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CXXLD) $(completeex_CXXFLAGS) $(CXXFLAGS) \ - $(completeex_LDFLAGS) $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I. -I$(builddir)/src -depcomp = $(SHELL) $(top_builddir)/config/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -SOURCES = $(rootobject_SOURCES) $(invobject_SOURCES) $(rootinvobject_SOURCES) \ - $(completeex_SOURCES) -AWK = gawk -BOOST_ASIO_LIB = -lboost_system -lboost_thread-mt -lboost_date_time -lboost_regex -lboost_serialization -BOOST_CFLAGS = -pthread -I/usr/include -BOOST_DATE_TIME_LIB = -lboost_date_time -BOOST_FILESYSTEM_LIB = -lboost_filesystem -BOOST_IOSTREAMS_LIB = -lboost_iostreams -BOOST_LIBS = -L$(LIBDIR) -BOOST_MPI_LIB = -lboost_mpi -lboost_serialization $(BOOST_LIBS)/openmpi/lib -lmpi_cxx -lmpi -BOOST_MPI_PYTHON_LIB = -lboost_mpi_python -lboost_serialization -lboost_python $(BOOST_LIBS) -lpython2.6 -lpthread -ldl -lutil -lm -lboost_mpi -lboost_serialization $(BOOST_LIBS)/openmpi/lib -lmpi_cxx -lmpi $(BOOST_LIBS)/openmpi/lib -lmpi_cxx -lmpi -BOOST_PROGRAM_OPTIONS_LIB = -lboost_program_options -BOOST_PYTHON_LIB = -lboost_python $(BOOST_LIBS) -lpython2.6 -lpthread -ldl -lutil -lm -BOOST_REGEX_LIB = -lboost_regex -BOOST_SERIALIZATION_LIB = -lboost_serialization -BOOST_SIGNALS_LIB = -lboost_signals -BOOST_SYSTEM_LIB = -lboost_system -BOOST_THREAD_LIB = -lboost_thread-mt -BOOST_UNIT_TEST_FRAMEWORK_LIB = -lboost_unit_test_framework -BOOST_VERSION = 1_41 -BOOST_WSERIALIZATION_LIB = -lboost_wserialization -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -CPP = gcc -E -CPPFLAGS = -CPPUNIT_CFLAGS = -CPPUNIT_CONFIG = /usr/bin/cppunit-config -CPPUNIT_LIBS = -lcppunit -ldl -CPPUNIT_VERSION = 1.12.1 -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -g -Wall -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -EXTRACC_CFLAGS = -I/home/dan/dev/deliveries/extracc-0.5.0/include -EXTRACC_EXTRACPPUNIT_INCLUDE = include /home/dan/dev/deliveries/extracc-0.5.0/share/extracc/extracppunit/Makefile.common -EXTRACC_LIBS = -L/home/dan/dev/deliveries/extracc-0.5.0/lib -lextracppunit -EXTRACC_VERSION = 0.5.0 -FGREP = /bin/grep -F -GENERIC_LIBRARY_VERSION = 99:99:99 -GREP = /bin/grep -LD = /usr/bin/ld -m elf_$(ARCHI) -LDFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -MAKEINFO = ${SHELL} /home/dan/dev/sim/airinvsvn/trunk/airinv/config/missing --run makeinfo -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OPENMPI_CFLAGS = -I/usr/include/openmpi-$(ARCHI) -I/usr/include/openmpi-$(ARCHI)/openmpi -I/usr/include/openmpi-$(ARCHI)/64 -m64 -OPENMPI_LIBS = -L$(LIBDIR)/openmpi/lib -lmpi_cxx -lmpi -OPENMPI_VERSION = 1.4.1 -OTOOL = -OTOOL64 = -PACKAGE = airinv -PACKAGE_BUGREPORT = den...@us... -PACKAGE_NAME = AIRINV -PACKAGE_STRING = AIRINV 99.99.99 -PACKAGE_TARNAME = airinv -PACKAGE_URL = -PACKAGE_VERSION = 99.99.99 -PATH_SEPARATOR = : -PERL = /usr/bin/perl -PYTHON = /usr/bin/python -PYTHON_ADD_LIBS = -lpthread -ldl -lutil -lm -PYTHON_CFLAGS = -I/usr/include/python2.6 -PYTHON_LIBS = -L$(LIBDIR) -lpython2.6 -PYTHON_VERSION = 2.6.4 -RANLIB = ranlib -SED = /bin/sed -SET_MAKE = -SHELL = /bin/sh -STDAIR_CFLAGS = -pthread -I/usr/include -I../../.. -STDAIR_LIBS = -L$(LIBDIR) -lboost_date_time -L../../../stdair/.libs -lstdair -STDAIR_VERSION = 0.8.0 -STRIP = strip -VERSION = 99.99.99 -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = ${AMTAR} chof - "$$tardir" -am__untar = ${AMTAR} xf - -bindir = ${exec_prefix}/bin -build = $(ARCHI)-unknown-linux-gnu -build_alias = -build_cpu = $(ARCHI) -build_os = linux-gnu -build_vendor = unknown -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -exec_prefix = ${prefix} -gs_ok = yes -host = $(ARCHI)-unknown-linux-gnu -host_alias = -host_cpu = $(ARCHI) -host_os = linux-gnu -host_vendor = unknown -includedir = ${prefix}/include -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -lt_ECHO = echo -mkdir_p = /bin/mkdir -p -oldincludedir = /usr/include -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../.. -top_builddir = ../../.. -top_srcdir = ../../.. -AM_CPPFLAGS = -I$(top_srcdir) - -# -rootobject_SOURCES = rootobject.cpp -rootobject_CXXFLAGS = $(BOOST_CFLAGS) $(STDAIR_CFLAGS) -rootobject_LDADD = -rootobject_LDFLAGS = $(BOOST_PROGRAM_OPTIONS_LIB) $(STDAIR_LIBS) - -invobject_SOURCES = invobject.cpp -invobject_CXXFLAGS = $(BOOST_CFLAGS) $(STDAIR_CFLAGS) -invobject_LDADD = -invobject_LDFLAGS = $(BOOST_PROGRAM_OPTIONS_LIB) $(STDAIR_LIBS) - -rootinvobject_SOURCES = rootinvobject.cpp -rootinvobject_CXXFLAGS = $(BOOST_CFLAGS) $(STDAIR_CFLAGS) -rootinvobject_LDADD = -rootinvobject_LDFLAGS = $(BOOST_PROGRAM_OPTIONS_LIB) $(STDAIR_LIBS) - -completeex_SOURCES = completeex.cpp -completeex_CXXFLAGS = $(BOOST_CFLAGS) $(STDAIR_CFLAGS) -completeex_LDADD = -completeex_LDFLAGS = $(BOOST_PROGRAM_OPTIONS_LIB) $(STDAIR_LIBS) - -all: all-am - -.SUFFIXES: -.SUFFIXES: .cpp .lo .o .obj -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -rootobject$(EXEEXT): $(rootobject_OBJECTS) $(rootobject_DEPENDENCIES) - @rm -f rootobject$(EXEEXT) - $(rootobject_LINK) $(rootobject_OBJECTS) $(rootobject_LDADD) $(LIBS) -invobject$(EXEEXT): $(invobject_OBJECTS) $(invobject_DEPENDENCIES) - @rm -f invobject$(EXEEXT) - $(invobject_LINK) $(invobject_OBJECTS) $(invobject_LDADD) $(LIBS) -rootinvobject$(EXEEXT): $(rootinvobject_OBJECTS) $(rootinvobject_DEPENDENCIES) - @rm -f rootinvobject$(EXEEXT) - $(rootinvobject_LINK) $(rootinvobject_OBJECTS) $(rootinvobject_LDADD) $(LIBS) -completeex$(EXEEXT): $(completeex_OBJECTS) $(completeex_DEPENDENCIES) - @rm -f completeex$(EXEEXT) - $(completeex_LINK) $(completeex_OBJECTS) $(completeex_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -.cpp.o: - source='$<' object='$@' libtool=no \ - DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ - $(CXXCOMPILE) -c -o $@ $< -# $(CXXCOMPILE) -MT $@ -MD -MP -MF -c -o $@ $< - -.cpp.obj: - source='$<' object='$@' libtool=no \ - DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ - $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` -# $(CXXCOMPILE) -MT $@ -MD -MP -MF -c -o $@ `$(CYGPATH_W) '$<'` - -.cpp.lo: - source='$<' object='$@' libtool=yes \ - DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ - $(LTCXXCOMPILE) -c -o $@ $< -# $(LTCXXCOMPILE) -MT $@ -MD -MP -MF -c -o $@ $< - -rootobject-rootobject.o: rootobject.cpp - source='rootobject.cpp' object='rootobject-rootobject.o' libtool=no \ - DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rootobject_CXXFLAGS) $(CXXFLAGS) -c -o rootobject-rootobject.o `test -f 'rootobject.cpp' || echo '$(srcdir)/'`rootobject.cpp -# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rootobject_CXXFLAGS) $(CXXFLAGS) -MT rootobject-rootobject.o -MD -MP -MF -c -o rootobject-rootobject.o `test -f 'rootobject.cpp' || echo '$(srcdir)/'`rootobject.cpp - -rootobject-rootobject.obj: rootobject.cpp - source='rootobject.cpp' object='rootobject-rootobject.obj' libtool=no \ - DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rootobject_CXXFLAGS) $(CXXFLAGS) -c -o rootobject-rootobject.obj `if test -f 'rootobject.cpp'; then $(CYGPATH_W) 'rootobject.cpp'; else $(CYGPATH_W) 'rootobject.cpp'; fi` -# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rootobject_CXXFLAGS) $(CXXFLAGS) -MT rootobject-rootobject.obj -MD -MP -MF -c -o rootobject-rootobject.obj `if test -f 'rootobject.cpp'; then $(CYGPATH_W) 'rootobject.cpp'; else $(CYGPATH_W) 'rootobject.cpp'; fi` - -invobject-invobject.o: invobject.cpp - source='invobject.cpp' object='invobject-invobject.o' libtool=no \ - DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(invobject_CXXFLAGS) $(CXXFLAGS) -c -o invobject-invobject.o `test -f 'invobject.cpp' || echo '$(srcdir)/'`invobject.cpp -# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(invobject_CXXFLAGS) $(CXXFLAGS) -MT invobject-invobject.o -MD -MP -MF -c -o invobject-invobject.o `test -f 'invobject.cpp' || echo '$(srcdir)/'`invobject.cpp - -invobject-invobject.obj: invobject.cpp - source='invobject.cpp' object='invobject-invobject.obj' libtool=no \ - DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(invobject_CXXFLAGS) $(CXXFLAGS) -c -o invobject-invobject.obj `if test -f 'invobject.cpp'; then $(CYGPATH_W) 'invobject.cpp'; else $(CYGPATH_W) '$(srcdir)/invobject.cpp'; fi` -# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(invobject_CXXFLAGS) $(CXXFLAGS) -MT invobject-invobject.obj -MD -MP -MF -c -o invobject-invobject.obj `if test -f 'invobject.cpp'; then $(CYGPATH_W) 'invobject.cpp'; else $(CYGPATH_W) '$(srcdir)/invobject.cpp'; fi` - -rootinvobject-rootinvobject.o: rootinvobject.cpp - source='rootinvobject.cpp' object='rootinvobject-rootinvobject.o' libtool=no \ - DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rootinvobject_CXXFLAGS) $(CXXFLAGS) -c -o rootinvobject-rootinvobject.o `test -f 'rootinvobject.cpp' || echo '$(srcdir)/'`rootinvobject.cpp -# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rootinvobject_CXXFLAGS) $(CXXFLAGS) -MT rootinvobject-rootinvobject.o -MD -MP -MF -c -o rootinvobject-rootinvobject.o `test -f 'rootinvobject.cpp' || echo '$(srcdir)/'`rootinvobject.cpp - -rootinvobject-rootinvobject.obj: rootinvobject.cpp - source='rootinvobject.cpp' object='rootinvobject-rootinvobject.obj' libtool=no \ - DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rootinvobject_CXXFLAGS) $(CXXFLAGS) -c -o rootinvobject-rootinvobject.obj `if test -f 'rootinvobject.cpp'; then $(CYGPATH_W) 'rootinvobject.cpp'; else $(CYGPATH_W) '$(srcdir)/rootinvobject.cpp'; fi` -# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rootinvobject_CXXFLAGS) $(CXXFLAGS) -MT rootinvobject-rootinvobject.obj -MD -MP -MF -c -o rootinvobject-rootinvobject.obj `if test -f 'rootinvobject.cpp'; then $(CYGPATH_W) 'rootinvobject.cpp'; else $(CYGPATH_W) '$(srcdir)/rootinvobject.cpp'; fi` - -completeex-completeex.o: completeex.cpp - source='completeex.cpp' object='completeex-completeex.o' libtool=no \ - DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(completeex_CXXFLAGS) $(CXXFLAGS) -c -o completeex-completeex.o `test -f 'completeex.cpp' || echo '$(srcdir)/'`completeex.cpp -# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(completeex_CXXFLAGS) $(CXXFLAGS) -MT completeex-completeex.o -MD -MP -MF -c -o completeex-completeex.o `test -f 'completeex.cpp' || echo '$(srcdir)/'`completeex.cpp - -completeex-completeex.obj: completeex.cpp - source='completeex.cpp' object='completeex-completeex.obj' libtool=no \ - DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ - $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(completeex_CXXFLAGS) $(CXXFLAGS) -c -o completeex-completeex.obj `if test -f 'completeex.cpp'; then $(CYGPATH_W) 'completeex.cpp'; else $(CYGPATH_W) 'completeex.cpp'; fi` -# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(completeex_CXXFLAGS) $(CXXFLAGS) -MT completeex-completeex.obj -MD -MP -MF -c -o completeex-completeex.obj `if test -f 'completeex.cpp'; then $(CYGPATH_W) 'completeex.cpp'; else $(CYGPATH_W) 'completeex.cpp'; fi` - -mostlyclean-deps: - -rm -f $(DEPDIR)/*.Po - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -all-am: Makefile $(PROGRAMS) - -mostlyclean-generic: - -clean-generic: - -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool mostlyclean-deps - -.MAKE: - -.PHONY: all all-am clean clean-binPROGRAMS \ - clean-generic clean-libtool mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: -# DO NOT DELETE Deleted: trunk/stdair/doc/tutorial/src/rootinvobject.cpp =================================================================== --- trunk/stdair/doc/tutorial/src/rootinvobject.cpp 2010-11-07 21:47:26 UTC (rev 365) +++ trunk/stdair/doc/tutorial/src/rootinvobject.cpp 2010-11-14 16:39:38 UTC (rev 366) @@ -1,50 +0,0 @@ -/*! - * \page tut_rootinvobject_cpp Tutorial for the BOM Root and Inventory Objects Creation - * \code - */ -// STL -#include <cassert> -// StdAir -#include <stdair/bom/BomRoot.hpp> -#include <stdair/bom/Inventory.hpp> -#include <stdair/factory/FacBomManager.hpp> - -// /////////////////////// M A I N /////////////////////////// -int main() { - - // Create the root of the Bom tree (i.e., a BomRoot object) - stdair::BomRoot& lBomRoot = - stdair::FacBom<stdair::BomRoot>::instance().create(); - - // Create an Inventory for the Airline BA - const stdair::InventoryKey lBAKey ("BA"); - stdair::Inventory& lBAInv = - stdair::FacBom<stdair::... [truncated message content] |