Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
AmplFP
Bonmin::AmplInterfaceClass for providing an Osi interface to Ipopt with an ampl nl file as input
Bonmin::AmplTMINLPAmpl MINLP Interface
AslCouPair
Bonmin::AuxInfoBonmin class for passing info between components of branch-and-cuts
Bonmin::Bab
Bonmin::BabInfoBonmin class for passing info between components of branch-and-cuts
Bonmin::BabSetupBaseA class to have all elements necessary to setup a branch-and-bound
Bonmin::BabSetupBase::CuttingMethodType for cut generation method with its frequency and string identification
Bonmin::BabSetupBase::HeuristicMethodType for heuristic method with its string identification
Base64Use this class to read and write data in base64
BB_cutSimple representation of a cut by storing non zero coefficients only
BB_indexed_cutWhen doing a sprint sort of algorithm on the cuts (i.e., leave out a number of cuts at the beginning and add them only as necessary) this object represents one of these cuts
BB_init
BB_lpClass for operations at the node level
BB_packerClass taking care of packing/unpacking
BB_probClass holding data for describing the problem
BB_tm
BCP_bufferThis class describes the message buffer used for all processes of BCP
BCP_cg_parParameters used in the Cut Generator process
BCP_cg_probThis class is the central class of the Cut Generator process
BCP_cg_userBase class from which the user can derive a problem specific class to be used in the Cut Generator process
BCP_colThis class holds a column in a compressed form
BCP_cutAbstract base class that defines members common to all types of cuts
BCP_cut_algoThis is the class from which the user should derive her own algorithmic cuts
BCP_cut_coreCore cuts are the cuts that always stay in the LP formulation
BCP_cut_setThis class is just a collection of pointers to cuts with a number of methods to manipulate these cuts and/or select certain entries
BCP_fatal_errorCurrently there isn't any error handling in BCP
BCP_internal_brobjThis class is the internal representation of a branching object
BCP_lp_branching_objectThis class describes a generic branching object
BCP_lp_cut_pool
BCP_lp_integer_branching_objectThis class exist only so that we can extract information from OsiIntegerBranchingObject
BCP_lp_nodeNO OLD DOC
BCP_lp_parParameters used in the LP process
BCP_lp_parentNO OLD DOC
BCP_lp_probNO OLD DOC
BCP_lp_relaxAn object of type BCP_lp_relax holds the description of an lp relaxation
BCP_lp_resultThis class holds the results after solving an LP relaxation
BCP_lp_sos_branching_objectThis class exist only so that we can extract information from OsiIntegerBranchingObject
BCP_lp_statisticsNO OLD DOC
BCP_lp_userBase class from which the user can derive a problem specific class to be used in the LP process
BCP_lp_var_pool
BCP_lp_waiting_col
BCP_lp_waiting_row
BCP_MemPool
BCP_message_environmentThis is an abstract base class that describes the message passing environment
BCP_node_change
BCP_node_storage_in_tmNO OLD DOC
BCP_obj_change
BCP_obj_set_changeThis class stores data about how an object set (set of vars or set of cuts) changes
BCP_parameterThis parameter indeintifies a single parameter entry
BCP_parameter_set< Par >This is the class serves as a holder for a set of parameters
BCP_presolved_lp_brobjA presolved branching object candidate
BCP_problem_coreThis class describes the core of the MIP problem, the variables/cuts in it as well as the matrix corresponding the core variables and cuts
BCP_problem_core_changeThis class describes changes in the core of the problem
BCP_process
BCP_rowThis class holds a row in a compressed form
BCP_scheduler
BCP_single_environment
BCP_slave_paramsNO OLD DOC
BCP_solutionThis is the abstract base class for a solution to a Mixed Integer Programming problem
BCP_solution_genericThis class holds a MIP feasible primal solution
BCP_stringThis class is a very simple impelementation of a constant length string
BCP_tm_flagsNO OLD DOC
BCP_tm_node
BCP_tm_node_data
BCP_tm_node_to_send
BCP_tm_parParameters used in the Tree Manager process
BCP_tm_probNO OLD DOC
BCP_tm_stat
BCP_tm_userBase class from which the user can derive a problem specific class to be used in the TM process
BCP_treeNO OLD DOC
BCP_ts_node_dataSame as BCP_tm_node_data, just there's no need to use smart pointers in this process
BCP_ts_par
BCP_ts_prob
BCP_ts_user
BCP_user_class
BCP_user_data
BCP_user_pack
BCP_varAbstract base class that defines members common to all types of variables
BCP_var_algoThis is the class from which the user should derive her own algorithmic variables
BCP_var_coreCore variables are the variables that always stay in the LP formulation
BCP_var_setThis class is just a collection of pointers to variables with a number of methods to manipulate these variables and/or select certain entries
BCP_vec< T >The class BCP_vec serves the same purpose as the vector class in the standard template library
BCP_vec_change< T >This class stores a vector explicitly or relatively to another vector
BCP_vg_par
BCP_vg_probThis class is the central class of the Variable Generator process
BCP_vg_userBase class from which the user can derive a problem specific class to be used in the Cut Generator process
BCP_warmstartWarmstarting information for the LP solver
BCP_warmstart_basisThis class describes a warmstart information that consists of basis information for structural and artificial variables
BCP_warmstart_dualThis class describes a warmstart information that consists solely of the dual vector
BCP_warmstart_primaldualThis class describes a warmstart information that consists solely of the dual vector
Bigint
BM_BranchData
BM_init
BM_lp
BM_node
BM_pack
BM_par
BM_SB_result
BM_stats
BM_tm
BMSearchTreeCompareBest
Bonmin::BonCbcFullNodeInfoHolds information for recreating a subproblem by incremental change from the parent for Bonmin
Bonmin::BonCbcPartialNodeInfoHolds information for recreating a subproblem by incremental change from the parent for
Bonmin::BonChooseVariableThis class chooses a variable to branch on
Bonmin::BonChooseVariable::Messages
Bonmin::BonminAmplSetup
BonminProblem
Bonmin::BonminSetup
BonminSolverSolves problems using Ipopt
BonRandomChoice
Bonmin::BoundsReaderReads a file containing change bounds for variables
Bonmin::BqpdSolver
Bonmin::BqpdSolver::cachedInfoCached information for reoptimizing
Bonmin::BqpdSolver::UnsolvedBqpdError
Bonmin::BqpdWarmStartWarm start for filter interface
Bonmin::BranchingTQPThis is an adapter class that converts a TMINLP2TNLP object into a TNLP, which is now just a QP
BranchingWeightBranchingWeight class
Bonmin::CbcDfsDiverA more elaborate diving class
Bonmin::CbcDiverClass to do diving in the tree
Bonmin::CbcNlpStrategy
Bonmin::CbcOaStrategyA class to pass on a CbcStrategy to OA sub-milp solver
Bonmin::CbcProbedDiverClass to do probed diving in the tree
cmpVar
CoinSolverImplements a solve method for the Coin solvers
compExprStructure for comparing expressions
compNodeStructure for comparing nodes in the dependence graph
compVarStructure for comparing variables
ConstraintThe in-memory representation of the <con> element
ConstraintOptionConstraintOption class
ConstraintsThe in-memory representation of the <constraints> element
ConstraintSolutionThe ConstraintSolution Class
ContactOptionContactOption class
CouenneBranchingObject"Spatial" branching object
CouenneChooseStrong
CouenneChooseVariableChoose a variable for branching
CouenneComplBranchingObject"Spatial" branching object for complementarity constraints
CouenneComplObjectOsiObject for complementarity constraints $x_1 x_2 = 0$
CouenneConstraintClass to represent nonlinear constraints
CouenneCutGeneratorCut Generator for linear convexifications
CouenneDisjCutsCut Generator for linear convexifications
Bonmin::CouenneInfoBonmin class for passing info between components of branch-and-cuts
Bonmin::CouenneInfo::NlpSolutionClass for storing an Nlp Solution
Bonmin::CouenneInterface
CouenneObjectOsiObject for auxiliary variables $w=f(x)$
CouenneObjectiveObjective function
CouenneProblemClass for MINLP problems with symbolic information
CouenneProblem::GlobalCutOffClass for storing a global cutoff for a CouenneProblem and all its clones
Bonmin::CouenneSetup
CouenneSolverSolves problems using Ipopt
CouenneSolverInterfaceSolver interface class with a pointer to a Couenne cut generator
CouenneSOSBranchingObject
CouenneSOSObject
CouenneThreeWayBranchObjSpatial, three-way branching object
CouenneVarObjectOsiObject for variables in a MINLP
CouenneVTObjectOsiObject for violation transfer on variables in a MINLP
CouExpr
Bonmin::CurvatureEstimator
Bonmin::CurvBranchingSolverImplementation of BonChooseVariable for curvature-based braching
Bonmin::CutStrengthenerClass for strengthening OA cuts, and generating additional ones
Bonmin::CutStrengthener::StrengtheningTNLPClass implementing the TNLP for strengthening one cut
DefaultSolverThe Defalut Solver Class
DepGraphDependence graph
DepNodeVertex of a dependence graph
DirectoriesAndFilesDirectoriesAndFiles class
Bonmin::DiverCompare
DomainDefine a dynamic point+bounds, with a way to save and restore previous points+bounds through a LIFO structure
DomainPointDefine a point in the solution space and the bounds around it
DoubleVectorDouble vector data structure
DualVariableValuesThe DualVariableValues Class
DualVarValueThe DualVarValue Class
Bonmin::DummyHeuristic
Bonmin::EcpCuts
ErrorClassUsed for throwing exceptions
exprAbsClass for $w=|f(x)|$
exprAuxAuxiliary variable
exprCloneExpression clone (points to another expression)
exprConstConstant-type operator
exprCopy
exprCosClass cosine
exprDivClass for divisions
expressionExpression base class
exprExpClass for the exponential
exprGroupClass Group, with constant, linear and nonlinear terms
exprIf
exprInvClass inverse (1/f(x))
exprIVarVariable-type operator
exprLBCosClass to compute lower bound of a cosine based on the bounds of its arguments
exprLBDivClass to compute lower bound of a fraction based on the bounds of both numerator and denominator
exprLBMulClass to compute lower bound of a product based on the bounds of both factors
exprLBQuadClass to compute lower bound of a fraction based on the bounds of both numerator and denominator
exprLBSinClass to compute lower bound of a sine based on the bounds on its arguments
exprLogClass logarithm
exprLowerBoundLower bound
exprMaxClass for maxima
exprMinClass for minima
exprMulClass for multiplications
exprNorm
exprOpGeneral n-ary operator-type expression: requires argument list
exprOppClass opposite
exprPowPower of an expression (binary operator)
exprPWLinear
exprQuadClass exprQuad, with constant, linear and quadratic terms
exprSinClass for sin f(x)
exprStoreStorage class for previously evaluated expressions
exprSubClass for subtraction
exprSumClass sum
exprUBCosClass to compute lower bound of a cosine based on the bounds of its arguments
exprUBDivClass to compute upper bound of a fraction based on the bounds of both numerator and denominator
exprUBMulClass to compute upper bound of a product based on the bounds of both factors
exprUBQuadClass to compute upper bound of a fraction based on the bounds of both numerator and denominator
exprUBSinClass to compute lower bound of a sine based on the bounds on its arguments
exprUnaryExpression class for unary functions (sin, log, etc
exprUpperBoundUpper bound
exprVarVariable-type operator
FG_info
FileUtilClass used to make it easy to read and write files
Bonmin::FilterSolver
Bonmin::FilterSolver::cachedInfoCached information for reoptimizing
Bonmin::FilterSolver::UnsolvedFilterError
Bonmin::FilterWarmStartWarm start for filter interface
Bonmin::FilterWarmStartDiff
FPInterface
funtriplet
GeneralOptionThe GeneralOption Class
GeneralResultThe GeneralResult Class
GeneralStatusThe GeneralStatus Class
GeneralSubstatusThe GeneralSubstatus Class
Bonmin::GuessHeuristic
Bonmin::HotInfo
IndexValuePairA coomonly used structure holding an index-value pair
InitBasStatusInitBasStatus class
InitConstraintValuesInitConstraintValues class
InitConValueInitConValue class
InitDualVariableValuesInitDualVariableValues class
InitDualVarValueInitDualVarValue class
Bonmin::InitHeuristicA heuristic that stores the initial solution of the NLP
InitialBasisStatusInitialBasisStatus class
InitObjBoundInitObjBound class
InitObjectiveBoundsInitObjectiveBounds class
InitObjectiveValuesInitObjectiveValues class
InitObjValueInitObjValue class
InitVariableValuesInitVariableValues class
InitVariableValuesStringInitVariableValuesString class
InitVarValueInitVarValue class
InitVarValueStringInitVarValueString class
InstanceDataThe in-memory representation of the <instanceData> element
InstanceHeaderThe in-memory representation of the <instanceHeader> element
InstanceLocationOptionInstanceLocationOption class
IntegerVariableBranchingWeightsIntegerVariableBranchingWeights class
IntervalThe in-memory representation of the <interval> element
IntVectorInteger Vector data structure
ipopt_cppad_fg_info
ipopt_cppad_nlp
ipopt_cppad_solution
Bonmin::IpoptInteriorWarmStarter
IpoptProblem
IpoptSolverSolves problems using Ipopt
Bonmin::IpoptSolver
Bonmin::IpoptSolver::UnsolvedIpoptError
Bonmin::IpoptWarmStartClass for storing warm start informations for Ipopt
Bonmin::IpoptWarmStartDiffDiff class for IpoptWarmStart
JobDependenciesJobDependencies class
JobOptionJobOption class
JobResultThe JobResult Class
KnitroProblem
KnitroSolverKnitroSolver class solves problems using Knitro
kpowertriplet
LindoSolverLindoSolver class solves problems using Lindo
LinearConstraintCoefficientsThe in-memory representation of the <linearConstraintCoefficients> element
LinMap
Bonmin::LpBranchingSolverImplementation of BonChooseVariable for curvature-based braching
MathUtilThis class has routines for linear algebra
MaxTimeMaxTime class
MCF1_branch_decision
MCF1_branching_var
MCF1_data
MCF1_data::arc
MCF1_data::commodity
MCF1_init
MCF1_lp
MCF1_packer
MCF1_par
MCF1_tm
MCF1_var
MCF2_branch_decision
MCF2_branching_var
MCF2_data
MCF2_data::arc
MCF2_data::commodity
MCF2_init
MCF2_lp
MCF2_packer
MCF2_par
MCF2_tm
MCF2_var
MCF3_branch_decision
MCF3_data
MCF3_data::arc
MCF3_data::commodity
MCF3_init
MCF3_lp
MCF3_packer
MCF3_par
MCF3_tm
MCF3_user
MCF3_var
MinCPUSpeedMinCPUSpeed class
MinDiskSpaceMinDiskSpace class
Bonmin::MinlpFeasPump
MinMemorySizeMinMemorySize class
MY_user_dataClass taking care of interaction between user data and Bcp
MyTMINLPA C++ example for interfacing an MINLP with bonmin
Bonmin::NamesReaderA class for reading a .col or .row file containing name for variables and constraints (usually ampl generated file)
Bonmin::NamesReader::ltstrString comparison strucutre
NlThe in-memory representation of the <nl> element
Bonmin::NlpSolveHeuristic
Bonmin::NonConvexSuffTo store all data stored in the nonconvex suffixes
NonlinearExpressionsThe in-memory representation of the <nonlinearExpressions> element
Bonmin::OACutGenerator2Class to perform OA in its classical form
Bonmin::OaDecompositionBaseBase class for OA algorithms
Bonmin::OaDecompositionBase::ParametersParameters for algorithm
Bonmin::OaDecompositionBase::solverManipSmall class to manipulatee various things in an OsiSolverInterface and restore them
Bonmin::OaDecompositionBase::SubMipSolverSmall class to perform the solution of sub-mips
Bonmin::OaFeasibilityCheckerClass to perform OA in its classical form
Bonmin::OaMessagesOutput messages for Outer approximation cutting planes
Bonmin::OaNlpOptimGenerate cuts for the nlp corresponding to continuous relaxation at a node
ObjCoefThe in-memory representation of the objective function <coef> element
ObjectiveThe in-memory representation of the <obj> element
ObjectiveOptionObjectiveOption class
ObjectivesThe in-memory representation of the <objectives> element
ObjectiveSolutionThe ObjectiveSolution Class
ObjectiveValuesThe ObjectiveValues Class
ObjValueThe ObjValue Class
OptimizationOptionOptimizationOption class
OptimizationResultThe OptimizationResult Class
OptimizationSolutionThe OptimizationSolution Class
OptimizationSolutionStatusThe OptimizationSolutionStatus Class
OptimizationSolutionSubstatusThe OptimizationSolutionSubstatus Class
Bonmin::optionsCmp
OptParam
OS_cutSimple representation of a cut by storing non zero coefficients only
OS_init
OS_lpClass for operations at the node level
OS_packerClass taking care of packing/unpacking
OS_probClass holding data for describing the problem
OS_tm
OS_var
OSExpressionTreeUsed to hold the instance in memory
OShLAn interface that specified virtual methods to be implemented by agents.
OSiLParserDataThe OSiLParserData Class, used to store parser data
OSiLReaderUsed to read an OSiL string
OSiLWriterTake an OSInstance object and write a string that validates against the OSiL schema
OSInstanceThe in-memory representation of an OSiL instance.
Bonmin::OsiTMINLPInterfaceThis is class provides an Osi interface for a Mixed Integer Linear Program expressed as a TMINLP (so that we can use it for example as the continuous solver in Cbc)
Bonmin::OsiTMINLPInterface::MessagesMessages outputed by an OsiTMINLPInterface
Bonmin::OsiTMINLPInterface::SimpleErrorError class to throw exceptions from OsiTMINLPInterface
OSMatlabThe OSMatlab Class
OSmps2osilThe OSmps2osil Class
OSnl2osilThe OSnl2osil Class
OSnLNodeThe OSnLNode Class
OSnLNodeAbsThe OSnLNodeAbs Class
OSnLNodeAllDiffThe OSnLNodeAllDiff Class
OSnLNodeCosThe OSnLNodeCos Class
OSnLNodeDivideThe OSnLNodeDivide Class
OSnLNodeEThe OSnLNodeE Class
OSnLNodeErfThe OSnLNodeErf Class
OSnLNodeExpThe OSnLNodeExp Class
OSnLNodeIfThe OSnLNodeIf Class
OSnLNodeLnThe OSnLNodeLn Class
OSnLNodeMaxThe OSnLNodeMax Class
OSnLNodeMinThe OSnLNodeMin Class
OSnLNodeMinusThe OSnLNodeMinus Class
OSnLNodeNegateThe OSnLNodeNegate Class
OSnLNodeNumberThe OSnLNodeNumber Class
OSnLNodePIThe OSnLNodePI Class
OSnLNodePlusThe OSnLNodePlus Class
OSnLNodePowerThe OSnLNodePower Class
OSnLNodeProductThe OSnLNodeProduct Class
OSnLNodeSinThe OSnLNodeSin Class
OSnLNodeSqrtThe OSnLNodeSqrt Class
OSnLNodeSquareThe OSnLNodeSquare Class
OSnLNodeSumThe OSnLNodeSum Class
OSnLNodeTimesThe OSnLNodeTimes Class
OSnLNodeVariableThe OSnLNodeVariable Class
OSoLParserDataThe OSoLParserData Class
OSoLReaderUsed to read an OSoL string
OSoLWriterTake an OSOption object and write a string that validates against the OSoL schema
OSOptionThe Option Class
osOptionsStrucThis structure is used to store options for the OSSolverService executable
OSResultThe Result Class
OSrLParserDataThe OSrLParserData Class
OSrLReaderThe OSrLReader Class
OSrLWriterTake an OSResult object and write a string that validates against OSrL
OSSolverAgentUsed by a client to invoke a remote solver
OtherConOptionOtherConOption class
OtherConResultThe OtherConResult Class
OtherConstraintOptionOtherConstraintOption class
OtherConstraintResultThe OtherConstraintResult Class
OtherObjectiveOptionOtherObjectiveOption class
OtherObjectiveResultThe OtherObjectiveResult Class
OtherObjOptionOtherObjOption class
OtherObjResultThe OtherObjResult Class
OtherOptimizationResultThe OtherOptimizationResult Class
OtherOptionOtherOption class
OtherOptionsOtherOptions class
OtherSolutionResultThe OtherSolutionResult Class
OtherSolutionResultsThe OtherSolutionResults Class
OtherVariableOptionOtherVariableOption class
OtherVariableResultThe OtherVariableResult Class
OtherVariableResultStructA structure to information about an OtherVariableResult element
OtherVarOptionOtherVarOption class
OtherVarResultOtherVarResult Class
PathPairPathPair class
PathPairsPathPairs class
powertriplet
ProcessesProcesses class
Bonmin::PseudoCosts
Bonmin::QpBranchingSolverThis class chooses a variable to branch on
QrootClass that stores result of previous calls to rootQ into a map for faster access
quadElemName: lqelems.hpp Author: Pietro Belotti Purpose: definition of elemental elements of linear and bilinear expressions
QuadMap
QuadraticCoefficientsThe in-memory representation of the <quadraticCoefficients> element
QuadraticTermThe in-memory representation of the <qTerm> element
QuadraticTermsData structure for holding quadratic terms
real_user_dataClass handling user data
Bonmin::RegisteredOptionsClass to add a few more information to Ipopt::RegisteredOptions
ResolutionInformation
ServiceOptionServiceOption class
ServiceResultThe ServiceResult Class
Bonmin::SimpleReferenced< X >
Bonmin::SimpleReferencedPtr< X >
simpletriplet
Bonmin::SmartAsl
SolverOptionSolverOption class
SolverOptionsSolverOptions class
SOSVariableBranchingWeightsSOSVariableBranchingWeights class
SOSWeightsSOSWeights class
SparseHessianMatrixThe in-memory representation of a SparseHessianMatrix.
SparseJacobianMatrixSparse Jacobian matrix data structure
SparseMatrixSparse matrix data structure
SparseVectorSparse vector data structure
Bonmin::StartPointReaderThis class reads a file with a starting point for Ipopt initalization
Bonmin::StrongBranchingSolverThis class is the base class for a solver that can be used in BonOsiSolverInterface to perform the strong branching solves
SystemOptionSystemOption class
SystemResultThe SystemResult Class
t_chg_boundsStatus of lower/upper bound of a variable, to be checked/modified in bound tightening
TimeThe Time Class
TimeDomainThe in-memory representation of the <timeDomain> element
TimeDomainInterval
TimeDomainStageThe in-memory representation of the <stage> element
TimeDomainStageConThe in-memory representation of the <con> element
TimeDomainStageConstraintsThe in-memory representation of the <constraints> child of the <stage> element
TimeDomainStageObjThe in-memory representation of the <obj> element
TimeDomainStageObjectivesThe in-memory representation of the <objectives> child of the <stage> element
TimeDomainStagesThe in-memory representation of the <stages> element
TimeDomainStageVarThe in-memory representation of the element
TimeDomainStageVariablesThe in-memory representation of the <variables> child of the <stage> element
TimingInformationThe TimingInformation Class
Bonmin::TMINLPBase class for all MINLPs that use a standard triplet matrix form and dense vectors
Bonmin::TMINLP2TNLPThis is an adapter class that converts a TMINLP to a TNLP to be solved by Ipopt
Bonmin::TMINLP::BranchingInfoStores branching priorities information
Bonmin::TMINLP::MarkedNonConvexStructure for marked non-convex constraints
Bonmin::TMINLP::PerturbInfoClass to store perturbation radii for variables in the model
Bonmin::TMINLP::SimpleConcaveConstraintStructure which describes a constraints of the form $f[ y F(x) ] with $ F(x) $ a concave function
Bonmin::TMINLP::SosInfoClass to store sos constraints for model
Bonmin::TNLP2FPNLPThis is an adapter class to convert an NLP to a Feasibility Pump NLP by changing the objective function to the (2-norm) distance to a point
Bonmin::TNLPSolverThis is a generic class for calling an NLP solver to solve a TNLP
Bonmin::TNLPSolver::UnsolvedErrorWe will throw this error when a problem is not solved
U
USER_initializeThis class is an abstract base class for the initializer class the user has to provide
VariableThe in-memory representation of the variable element
VariableOptionVariableOption class
VariablesThe in-memory representation of the variables element
VariableSolutionThe VariableSolution Class
VariableStringValuesThe VariableStringValues Class
VariableValuesThe VariableValues Class
VarStringValueVarStringValue Class
VarValueVarValue Class
Bonmin::vector< T >A small wrap around std::vector to give easy access to array for interfacing with fortran code
vector
WSUtilUsed by OSSolverAgent client for help in invoking a remote solver.
yy_buffer_state
yy_trans_info
yyalloc
yyguts_t
YYLTYPE
YYSTYPE

Generated on Thu Oct 8 03:07:34 2009 by  doxygen 1.4.7