\hypertarget{namespacebp__solver}{}\doxysection{bp\+\_\+solver Namespace Reference}
\label{namespacebp__solver}\index{bp\_solver@{bp\_solver}}


namespace covering all the algorithms for BPP  


\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{namespacebp__solver_ac8a5b4224b9b0cba310ec2010cffdb37}{base\+Line\+FFD}} (vector$<$ \mbox{\hyperlink{classOItem}{OItem}} $>$ item\+\_\+vect, vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$ $\ast$box\+\_\+vect, \mbox{\hyperlink{classBox}{Box}} box\+\_\+type)
\begin{DoxyCompactList}\small\item\em used in base line solution \end{DoxyCompactList}\item 
void \mbox{\hyperlink{namespacebp__solver_ac0d6aa7aca6b09f5806b8f96a0d81cf2}{main\+Solution1\+DFFD\+\_\+one\+Box\+Type}} (vector$<$ \mbox{\hyperlink{classOItem}{OItem}} $>$ item\+\_\+vect, vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$ $\ast$box\+\_\+vect, \mbox{\hyperlink{classBox}{Box}} box\+\_\+type)
\item 
void \mbox{\hyperlink{namespacebp__solver_a1726c8bea9fcbab6e744ed7ae00c764f}{main\+Solution1\+DFFDS\+\_\+multiple\+Box\+Types}} (vector$<$ \mbox{\hyperlink{classOItem}{OItem}} $>$ item\+\_\+vect, vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$ $\ast$box\+\_\+vect, vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$ box\+\_\+types)
\item 
void \mbox{\hyperlink{namespacebp__solver_af57175d98dda9b72c94ed86b34366aec}{main\+Solution3\+DBP\+\_\+one\+Box\+\_\+python\+Script}} (vector$<$ \mbox{\hyperlink{classOItem}{OItem}} $>$ item\+\_\+vect, vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$ $\ast$box\+\_\+vect, \mbox{\hyperlink{classBox}{Box}} box\+\_\+type)
\item 
void \mbox{\hyperlink{namespacebp__solver_a0d7ee34d91ac66d9acf5b079922c7095}{main\+Solution3\+DBP\+\_\+\+FFDS\+\_\+multi\+Box\+Types\+\_\+python\+Script}} (vector$<$ \mbox{\hyperlink{classOItem}{OItem}} $>$ item\+\_\+vect, vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$ $\ast$box\+\_\+vect, vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$ box\+\_\+types)
\item 
void \mbox{\hyperlink{namespacebp__solver_a776a3bbf5d33ee3291be51f63549bc43}{main\+Solution3\+DBP\+\_\+multiple\+Box\+Types\+\_\+count\+Defined\+\_\+python\+Script}} (vector$<$ \mbox{\hyperlink{classOItem}{OItem}} $>$ item\+\_\+vect, vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$ $\ast$box\+\_\+vect, vector$<$ pair$<$ \mbox{\hyperlink{classBox}{Box}}, int $>$ $>$ box\+\_\+types\+\_\+count)
\item 
bool \mbox{\hyperlink{namespacebp__solver_a3a432fd877f82ac047044d8b20265e71}{bp\+Solver\+\_\+1\+D\+\_\+fit\+Boxes\+To\+Shelves\+In\+Cart}} (vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$ box\+\_\+vect, vector$<$ \mbox{\hyperlink{classCartShelf}{Cart\+Shelf}} $>$ $\ast$out\+\_\+shelf\+\_\+vect, bool is\+\_\+one\+\_\+piced)
\begin{DoxyCompactList}\small\item\em function for filling shelves in cart with boxes of items \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{namespacebp__solver_aed1f44488afe0e500a7236d347e6b8a2}{bp\+Solver\+\_\+1\+D\+\_\+partly\+Load\+Boxes\+To\+Shelves\+In\+Cart}} (vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$ box\+\_\+vect, vector$<$ \mbox{\hyperlink{classCartShelf}{Cart\+Shelf}} $>$ $\ast$out\+\_\+shelf\+\_\+vect, vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$ $\ast$non\+\_\+loaded\+\_\+box\+\_\+vect, vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$ $\ast$loaded\+\_\+box\+\_\+ptr\+\_\+vect)
\item 
\mbox{\Hypertarget{namespacebp__solver_aa9706f38d4f4ad8f1793be05ae9e337d}\label{namespacebp__solver_aa9706f38d4f4ad8f1793be05ae9e337d}} 
bool {\bfseries add\+Box\+Item\+To\+Existing\+\_\+one\+Itemized\+\_\+\+Box\+\_\+1D} (\mbox{\hyperlink{classBox}{Box}} box, \mbox{\hyperlink{classBoxItem}{Box\+Item}} box\+\_\+item)
\item 
bool \mbox{\hyperlink{namespacebp__solver_a7f95ed9b92f1629263e83b95ed0248c1}{add\+Box\+Item\+To\+Existing\+\_\+one\+Itemized\+\_\+\+Box\+\_\+3D}} (\mbox{\hyperlink{classBox}{Box}} box, \mbox{\hyperlink{classBoxItem}{Box\+Item}} box\+\_\+item)
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
namespace covering all the algorithms for BPP 

\doxysubsection{Function Documentation}
\mbox{\Hypertarget{namespacebp__solver_a7f95ed9b92f1629263e83b95ed0248c1}\label{namespacebp__solver_a7f95ed9b92f1629263e83b95ed0248c1}} 
\index{bp\_solver@{bp\_solver}!addBoxItemToExisting\_oneItemized\_Box\_3D@{addBoxItemToExisting\_oneItemized\_Box\_3D}}
\index{addBoxItemToExisting\_oneItemized\_Box\_3D@{addBoxItemToExisting\_oneItemized\_Box\_3D}!bp\_solver@{bp\_solver}}
\doxysubsubsection{\texorpdfstring{addBoxItemToExisting\_oneItemized\_Box\_3D()}{addBoxItemToExisting\_oneItemized\_Box\_3D()}}
{\footnotesize\ttfamily bool bp\+\_\+solver\+::add\+Box\+Item\+To\+Existing\+\_\+one\+Itemized\+\_\+\+Box\+\_\+3D (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classBox}{Box}}}]{box,  }\item[{\mbox{\hyperlink{classBoxItem}{Box\+Item}}}]{box\+\_\+item }\end{DoxyParamCaption})}

Py\+\_\+\+Finalize(); -- causing problems !!!!!!!\mbox{\Hypertarget{namespacebp__solver_ac8a5b4224b9b0cba310ec2010cffdb37}\label{namespacebp__solver_ac8a5b4224b9b0cba310ec2010cffdb37}} 
\index{bp\_solver@{bp\_solver}!baseLineFFD@{baseLineFFD}}
\index{baseLineFFD@{baseLineFFD}!bp\_solver@{bp\_solver}}
\doxysubsubsection{\texorpdfstring{baseLineFFD()}{baseLineFFD()}}
{\footnotesize\ttfamily void bp\+\_\+solver\+::base\+Line\+FFD (\begin{DoxyParamCaption}\item[{vector$<$ \mbox{\hyperlink{classOItem}{OItem}} $>$}]{item\+\_\+vect,  }\item[{vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$ $\ast$}]{box\+\_\+vect,  }\item[{\mbox{\hyperlink{classBox}{Box}}}]{box\+\_\+type }\end{DoxyParamCaption})}



used in base line solution 


\begin{DoxyParams}{Parameters}
{\em item\+\_\+vect} & vector of order items to be fit into boxes \\
\hline
{\em box\+\_\+vect} & there is returned the vector of filled boxes \\
\hline
{\em box\+\_\+type} & type of a box to be used \\
\hline
\end{DoxyParams}
this is rework (fitting to boxitem) in contrast to version in base\+\_\+line solution\mbox{\Hypertarget{namespacebp__solver_a3a432fd877f82ac047044d8b20265e71}\label{namespacebp__solver_a3a432fd877f82ac047044d8b20265e71}} 
\index{bp\_solver@{bp\_solver}!bpSolver\_1D\_fitBoxesToShelvesInCart@{bpSolver\_1D\_fitBoxesToShelvesInCart}}
\index{bpSolver\_1D\_fitBoxesToShelvesInCart@{bpSolver\_1D\_fitBoxesToShelvesInCart}!bp\_solver@{bp\_solver}}
\doxysubsubsection{\texorpdfstring{bpSolver\_1D\_fitBoxesToShelvesInCart()}{bpSolver\_1D\_fitBoxesToShelvesInCart()}}
{\footnotesize\ttfamily bool bp\+\_\+solver\+::bp\+Solver\+\_\+1\+D\+\_\+fit\+Boxes\+To\+Shelves\+In\+Cart (\begin{DoxyParamCaption}\item[{vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$}]{box\+\_\+vect,  }\item[{vector$<$ \mbox{\hyperlink{classCartShelf}{Cart\+Shelf}} $>$ $\ast$}]{out\+\_\+shelf\+\_\+vect,  }\item[{bool}]{is\+\_\+one\+\_\+piced }\end{DoxyParamCaption})}



function for filling shelves in cart with boxes of items 


\begin{DoxyParams}{Parameters}
{\em box\+\_\+vect} & boxes that are going to be loaded \\
\hline
{\em out\+\_\+shelf\+\_\+vect} & shelves in cart (should not be more then 3) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true when the boxes can be loaded or false when they couldn\textquotesingle{}t 
\end{DoxyReturn}
\mbox{\Hypertarget{namespacebp__solver_aed1f44488afe0e500a7236d347e6b8a2}\label{namespacebp__solver_aed1f44488afe0e500a7236d347e6b8a2}} 
\index{bp\_solver@{bp\_solver}!bpSolver\_1D\_partlyLoadBoxesToShelvesInCart@{bpSolver\_1D\_partlyLoadBoxesToShelvesInCart}}
\index{bpSolver\_1D\_partlyLoadBoxesToShelvesInCart@{bpSolver\_1D\_partlyLoadBoxesToShelvesInCart}!bp\_solver@{bp\_solver}}
\doxysubsubsection{\texorpdfstring{bpSolver\_1D\_partlyLoadBoxesToShelvesInCart()}{bpSolver\_1D\_partlyLoadBoxesToShelvesInCart()}}
{\footnotesize\ttfamily bool bp\+\_\+solver\+::bp\+Solver\+\_\+1\+D\+\_\+partly\+Load\+Boxes\+To\+Shelves\+In\+Cart (\begin{DoxyParamCaption}\item[{vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$}]{box\+\_\+vect,  }\item[{vector$<$ \mbox{\hyperlink{classCartShelf}{Cart\+Shelf}} $>$ $\ast$}]{out\+\_\+shelf\+\_\+vect,  }\item[{vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$ $\ast$}]{non\+\_\+loaded\+\_\+box\+\_\+vect,  }\item[{vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$ $\ast$}]{loaded\+\_\+box\+\_\+ptr\+\_\+vect }\end{DoxyParamCaption})}


\begin{DoxyParams}{Parameters}
{\em box\+\_\+vect} & \\
\hline
{\em out\+\_\+shelf\+\_\+vect} & \\
\hline
{\em non\+\_\+loaded\+\_\+box\+\_\+vect} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true or false depending on whether at least one box has been loaded to the cart 
\end{DoxyReturn}
\mbox{\Hypertarget{namespacebp__solver_ac0d6aa7aca6b09f5806b8f96a0d81cf2}\label{namespacebp__solver_ac0d6aa7aca6b09f5806b8f96a0d81cf2}} 
\index{bp\_solver@{bp\_solver}!mainSolution1DFFD\_oneBoxType@{mainSolution1DFFD\_oneBoxType}}
\index{mainSolution1DFFD\_oneBoxType@{mainSolution1DFFD\_oneBoxType}!bp\_solver@{bp\_solver}}
\doxysubsubsection{\texorpdfstring{mainSolution1DFFD\_oneBoxType()}{mainSolution1DFFD\_oneBoxType()}}
{\footnotesize\ttfamily void bp\+\_\+solver\+::main\+Solution1\+DFFD\+\_\+one\+Box\+Type (\begin{DoxyParamCaption}\item[{vector$<$ \mbox{\hyperlink{classOItem}{OItem}} $>$}]{item\+\_\+vect,  }\item[{vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$ $\ast$}]{box\+\_\+vect,  }\item[{\mbox{\hyperlink{classBox}{Box}}}]{box\+\_\+type }\end{DoxyParamCaption})}


\begin{DoxyParams}{Parameters}
{\em item\+\_\+vect} & vector of order items to be fit into boxes \\
\hline
{\em box\+\_\+vect} & there is returned the vector of filled boxes \\
\hline
{\em box\+\_\+type} & type of a box to be used \\
\hline
\end{DoxyParams}
warning -\/ the out\+\_\+items\+\_\+vect is not necessarily accurate after the cycle above\mbox{\Hypertarget{namespacebp__solver_a1726c8bea9fcbab6e744ed7ae00c764f}\label{namespacebp__solver_a1726c8bea9fcbab6e744ed7ae00c764f}} 
\index{bp\_solver@{bp\_solver}!mainSolution1DFFDS\_multipleBoxTypes@{mainSolution1DFFDS\_multipleBoxTypes}}
\index{mainSolution1DFFDS\_multipleBoxTypes@{mainSolution1DFFDS\_multipleBoxTypes}!bp\_solver@{bp\_solver}}
\doxysubsubsection{\texorpdfstring{mainSolution1DFFDS\_multipleBoxTypes()}{mainSolution1DFFDS\_multipleBoxTypes()}}
{\footnotesize\ttfamily void bp\+\_\+solver\+::main\+Solution1\+DFFDS\+\_\+multiple\+Box\+Types (\begin{DoxyParamCaption}\item[{vector$<$ \mbox{\hyperlink{classOItem}{OItem}} $>$}]{item\+\_\+vect,  }\item[{vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$ $\ast$}]{box\+\_\+vect,  }\item[{vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$}]{box\+\_\+types }\end{DoxyParamCaption})}


\begin{DoxyParams}{Parameters}
{\em item\+\_\+vect} & \\
\hline
{\em box\+\_\+vect} & \\
\hline
{\em box\+\_\+types} & \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{namespacebp__solver_a0d7ee34d91ac66d9acf5b079922c7095}\label{namespacebp__solver_a0d7ee34d91ac66d9acf5b079922c7095}} 
\index{bp\_solver@{bp\_solver}!mainSolution3DBP\_FFDS\_multiBoxTypes\_pythonScript@{mainSolution3DBP\_FFDS\_multiBoxTypes\_pythonScript}}
\index{mainSolution3DBP\_FFDS\_multiBoxTypes\_pythonScript@{mainSolution3DBP\_FFDS\_multiBoxTypes\_pythonScript}!bp\_solver@{bp\_solver}}
\doxysubsubsection{\texorpdfstring{mainSolution3DBP\_FFDS\_multiBoxTypes\_pythonScript()}{mainSolution3DBP\_FFDS\_multiBoxTypes\_pythonScript()}}
{\footnotesize\ttfamily void bp\+\_\+solver\+::main\+Solution3\+DBP\+\_\+\+FFDS\+\_\+multi\+Box\+Types\+\_\+python\+Script (\begin{DoxyParamCaption}\item[{vector$<$ \mbox{\hyperlink{classOItem}{OItem}} $>$}]{item\+\_\+vect,  }\item[{vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$ $\ast$}]{box\+\_\+vect,  }\item[{vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$}]{box\+\_\+types }\end{DoxyParamCaption})}


\begin{DoxyParams}{Parameters}
{\em item\+\_\+vect} & vector of order items to be fit into boxes \\
\hline
{\em box\+\_\+vect} & there is returned the vector of filled boxes \\
\hline
{\em box\+\_\+types} & types of a boxes to be used \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{namespacebp__solver_a776a3bbf5d33ee3291be51f63549bc43}\label{namespacebp__solver_a776a3bbf5d33ee3291be51f63549bc43}} 
\index{bp\_solver@{bp\_solver}!mainSolution3DBP\_multipleBoxTypes\_countDefined\_pythonScript@{mainSolution3DBP\_multipleBoxTypes\_countDefined\_pythonScript}}
\index{mainSolution3DBP\_multipleBoxTypes\_countDefined\_pythonScript@{mainSolution3DBP\_multipleBoxTypes\_countDefined\_pythonScript}!bp\_solver@{bp\_solver}}
\doxysubsubsection{\texorpdfstring{mainSolution3DBP\_multipleBoxTypes\_countDefined\_pythonScript()}{mainSolution3DBP\_multipleBoxTypes\_countDefined\_pythonScript()}}
{\footnotesize\ttfamily void bp\+\_\+solver\+::main\+Solution3\+DBP\+\_\+multiple\+Box\+Types\+\_\+count\+Defined\+\_\+python\+Script (\begin{DoxyParamCaption}\item[{vector$<$ \mbox{\hyperlink{classOItem}{OItem}} $>$}]{item\+\_\+vect,  }\item[{vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$ $\ast$}]{box\+\_\+vect,  }\item[{vector$<$ pair$<$ \mbox{\hyperlink{classBox}{Box}}, int $>$ $>$}]{box\+\_\+types\+\_\+count }\end{DoxyParamCaption})}


\begin{DoxyParams}{Parameters}
{\em item\+\_\+vect} & vector of order items to be fit into boxes \\
\hline
{\em box\+\_\+vect} & there is returned the vector of filled boxes \\
\hline
{\em box\+\_\+types} & types of a boxes to be used \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{namespacebp__solver_af57175d98dda9b72c94ed86b34366aec}\label{namespacebp__solver_af57175d98dda9b72c94ed86b34366aec}} 
\index{bp\_solver@{bp\_solver}!mainSolution3DBP\_oneBox\_pythonScript@{mainSolution3DBP\_oneBox\_pythonScript}}
\index{mainSolution3DBP\_oneBox\_pythonScript@{mainSolution3DBP\_oneBox\_pythonScript}!bp\_solver@{bp\_solver}}
\doxysubsubsection{\texorpdfstring{mainSolution3DBP\_oneBox\_pythonScript()}{mainSolution3DBP\_oneBox\_pythonScript()}}
{\footnotesize\ttfamily void bp\+\_\+solver\+::main\+Solution3\+DBP\+\_\+one\+Box\+\_\+python\+Script (\begin{DoxyParamCaption}\item[{vector$<$ \mbox{\hyperlink{classOItem}{OItem}} $>$}]{item\+\_\+vect,  }\item[{vector$<$ \mbox{\hyperlink{classBox}{Box}} $>$ $\ast$}]{box\+\_\+vect,  }\item[{\mbox{\hyperlink{classBox}{Box}}}]{box\+\_\+type }\end{DoxyParamCaption})}


\begin{DoxyParams}{Parameters}
{\em item\+\_\+vect} & vector of order items to be fit into boxes \\
\hline
{\em box\+\_\+vect} & there is returned the vector of filled boxes \\
\hline
{\em box\+\_\+type} & type of a box to be used \\
\hline
\end{DoxyParams}
Py\+\_\+\+Finalize(); -- causing problems !!!!!!!