kangaroo  1.0
the cbls library
Data Structures
Here are the data structures with brief descriptions:
[detail level 12]
 Cabs1Unary absolute value operator: abs(x)
 Cacos1Unary acos operator: acos(x)
 Cacosh1Unary acosh operator: acosh(x)
 Cadd2Binary addition operator: x + y
 Cadd2mixedBinary addition operator for mixed data types: int x + float y or vice versa
 Cadd3Ternary addition operator: x + y + z
 Cadd4Quaternary addition operator: p + q + r + s
 CAllDifferentSatisfactionValueToValueAll different satisfaction value to value function
 CAllDifferentViolationValueToValueAll different violation value to value function
 CAllDifferentViolationValueToValueMiniFactorVectorAll different violation value to value factor mini vector function
 Cand2satisfactionBinary and operator to return two-level satisfaction logically: x && y
 Cand2violationBinary and operator to return multi-level violation numerically: x && y
 CAndSatisfactionValueToValueAnd satisfaction value to value function
 CAndViolationValueToValueAnd violation value to value function
 Casin1Unary asin operator: asin(x)
 Casinh1Unary asinh operator: asinh(x)
 Catan1Unary atan operator: atan(x)
 Catanh1Unary atanh operator: atanh(x)
 CAtmostSerialCountXFcMHnTA class to represent at most serial count fcmhns
 CAtmostValueCountXFcMHnTA class to represent at most value count fcmhns
 CbetweenClosedClosed3satisfactionTernary between closed closed operator returning satisfaction logically: a <= x <= b
 CbetweenClosedClosed3violationTernary between closed closed operator returning violation numerically: (a <= x <= b)
 CbetweenClosedOpen3satisfactionTernary between closed open operator returning satisfaction logically: a <= x < b
 CbetweenClosedOpen3violationTernary between closed open operator returning violation numerically: (a <= x < b)
 CbetweenOpenClosed3satisfactionTernary between open closed operator returning satisfaction logically: a < x <= b
 CbetweenOpenClosed3violationTernary between open closed operator returning violation numerically: (a < x <= b)
 CbetweenOpenOpen3satisfactionTernary between open open operator returning satisfaction logically: a < x < b
 CbetweenOpenOpen3violationTernary between open open operator returning violation numerically: (a < x < b)
 CBinaryMixedValueToValueBinary mixed value to value functions
 CBinaryValueToValueBinary value to value functions
 Cbind1nothingBind nothing of a unary operator, just to make it compatible with bindNested
 Cbind2leftBind the left operand of a binary operator with a constant value and the operator now becomes a unary operator
 Cbind2rightBind the right operand of a binary operator with a constant value and the operator now becomes a unary operator
 Cbind3sansMiddleBind the left and right operands of a ternary operator with constant values, but do not bind the middle operand; the operator now becomes a unary operator
 CbindLinearPiecesNsansInputBind the linear pieces of a n-ary linear-pieces function except its input; the operator now becomes a unary operator
 CbindListItemsNsansIndexBind the list of items of a indexed list items n-ary operator except its index operand; the operator now becomes a unary operator;
 CbindNestedThe nested binding operator f(g(x))
 CbindThenElse3sansIfBind then and else branches but not the if selector of a ternary if-then-else operator; the operator now becomes a unary operator
 CBindValueToValueBind value to value functions
 CCompatibleTwoVarsSingleObjectiveOptimalVarSwapSelectorSelecting compatible two variables for swapping optimising a single objective
 CCompatibleTwoVarsSingleObjectiveOptimalVarSwapSelectorDoubleVarTabuSelecting compatible two variables for swapping optimising a single objective respecting double variable tabu
 CCompatibleTwoVarsSingleObjectiveOptimalVarSwapSelectorDoubleVarTabuLockSelecting compatible two variables for swapping optimising a single objective respecting double variable tabu and variable locking
 CCompatibleTwoVarsSingleObjectiveOptimalVarSwapSelectorLockSelecting compatible two variables for swapping optimising a single objective respecting variable locking
 CCompatibleTwoVarsSingleObjectiveOptimalVarSwapSelectorSingleVarTabuSelecting compatible two variables for swapping optimising a single objective respecting single variable tabu
 CCompatibleTwoVarsSingleObjectiveOptimalVarSwapSelectorSingleVarTabuLockSelecting compatible two variables for swapping respecting single variable tabu and variable locking
 CConditionalSummationValueVectorToValueVectorSummation value vector to value vector function
 CConditionalWeightedSummationValueVectorToValueVectorWeighted summation value vector to value vector function
 CConstantAbstract constant expressions
 Ccos1Unary cos operator: cos(x)
 Ccosh1Unary cosh operator: cosh(x)
 Ccube1Unary cube operator: cube(x)
 CDataTempBuffCompatible temporary buffer type for two given data types
 CDataTempBuff< Bool, Bool >Temporary buffer type for boolean and boolean
 CDataTempBuff< Bool, Int >Temporary buffer type for boolean and integer
 CDataTempBuff< Bool, Real >Temporary buffer type for boolean and real
 CDataTempBuff< Int, Bool >Temporary buffer type for integer and boolean
 CDataTempBuff< Int, Int >Temporary buffer type for integer and integer
 CDataTempBuff< Int, Real >Temporary buffer type for integer and real
 CDataTempBuff< Real, Bool >Temporary buffer type for real and boolean
 CDataTempBuff< Real, Int >Temporary buffer type for real and integer
 CDataTempBuff< Real, Real >Temporary buffer type for real and real
 CDataTypeLimitsRepresents min and max data limits
 CDataTypeLimits< Bool >Min and max data limits and default step size for boolean
 CDataTypeLimits< Int >Min and max data limits and default step size for integer
 CDataTypeLimits< Real >Min and max data limits and default step size for real
 CDataTypeListUnique datatype serial
 CDataTypeList< 0 >Data type logic
 CDataTypeList< 1 >Data type integer
 CDataTypeList< 2 >Data type real
 CDataTypeMetaRepresents data type meta
 CDataTypeMeta< Bool >Data type boolean
 CDataTypeMeta< Int >Data type integer
 CDataTypeMeta< Real >Data type real
 Cdiff2Binary difference operator returning absolute difference: abs(x-y)
 Cdiv2Binary division operator: x / y
 CDoubleVarTabuDouble variable tabu family
 CDoubleVarTabuDoCallbackDouble variable tabu with callbacks
 CDoubleVarTabuDoCallbackCircularQueueDouble variable tabu with callbacks, implemented by using circular queue
 CDoubleVarTabuNoCallbackDouble variable tabu with no call back
 CDoubleVarTabuNoCallbackCircularQueueDouble variable no callback tabu, implemented by using a circular queue
 CDynamicAutoRangeVarValueDynamic automatic range variable having ranges defined by expressions
 CDynamicUserRangeVarValueDynamic user controlled range variables havinng ranges given by the user
 Cequals2satisfactionEquals operator to return two-level satisfaction logically: x == y
 Cequals2violationEquals operator to return multi-level violation numerically: x == y
 Cexp1Unary exp operator: exp(x)
 CExpressionAbstract expressions
 CFactorVectorRankFunctionFactor vector ranking function type
 CFalseCountComposeValueToValueFalse count compose value to value function
 CFalseCountValueToValueFalse count value to value function
 CFlipVariableFlip variable types that have binary states
 CFunctionFunctions that depend on other expressions
 CgreaterEqual2satisfactionGreater equal operator to return two-level satisfaction logically: x >= y
 CgreaterEqual2violationGreater equal operator to return multi-level violation numerically: x >= y
 CgreaterThan2satisfactionGreater than operator to return two-level satisfaction logically: x > y
 CgreaterThan2violationGreater than operator to return multi-level violation numerically: x > y
 CHeapOptimalFactorVectorRankRank factor variables optimally based on the vector metrics and using a heap
 CHeapOptimalFactorVectorRankLockRanking factor variables optimally based on vector metrics and using a heap respecting variable locks
 CHeapOptimalFactorVectorRankOptiSwapRank factor variables optimally based on the vector metrics with optimisation swap and using a heap
 CHeapOptimalFactorVectorRankOptiSwapLockRanking factor variables optimally based on vector metrics with optimisation swap and using a heap respecting variable locks
 CHeapOptimalFactorVectorRankOptiSwapSingleVarTabuDoCallbackRanking factor variables optimally based on vector metrics with optimisation swap using a heap respecting single variable tabu
 CHeapOptimalFactorVectorRankOptiSwapSingleVarTabuDoCallbackLockRanking factor variables optimally based on vector metrics with optimisation swap using a heap respecting single variable tabu and variable locking
 CHeapOptimalFactorVectorRankSingleVarTabuDoCallbackRanking factor variables optimally based on vector metrics using a heap respecting single variable tabu
 CHeapOptimalFactorVectorRankSingleVarTabuDoCallbackLockRanking factor variables optimally based on vector metrics with optimisation swap using a heap respecting single variable tabu and variable locking
 CHeapOptimalMapVarRankRank variables optimally based on mapped parameter expressions using heaps
 CHeapOptimalMapVarRankLockRank variables optimally based on mapped parameter expressions using heaps and respecting locks
 CHeapOptimalMapVarRankSingleVarTabuDoCallbackRank variables optimally based on mapped parameter expressions using heaps and respecting single variable tabu
 CHeapOptimalMapVarRankSingleVarTabuDoCallbackLockRank variables optimally based on mapped parameter expressions using heaps and respecting single variable tabu and lock
 CHeapOptimalParamRankFunctions ranking parameters based on values using a heap
 CIdenticalTwoVarsSingleObjectiveOptimalVarSwapSelectorSelecting idential two variables for swapping optimising an objective
 CIdenticalTwoVarsSingleObjectiveOptimalVarSwapSelectorDoubleVarTabuSelecting identical two variables for swapping respecting double variable tabu
 CIdenticalTwoVarsSingleObjectiveOptimalVarSwapSelectorDoubleVarTabuLockSelecting identical two variables for swapping respecting both double variable tabu and variable locking
 CIdenticalTwoVarsSingleObjectiveOptimalVarSwapSelectorLockSelecting identical two variables for swapping respecting variable locking
 CIdenticalTwoVarsSingleObjectiveOptimalVarSwapSelectorSingleVarTabuSelecting identical two variables for swapping respecting single variable tabu
 CIdenticalTwoVarsSingleObjectiveOptimalVarSwapSelectorSingleVarTabuLockSelecting identical two variables for swapping respecting both single variable tabu and variable locking
 CidentifierUnique identifier of a class
 CifThenElseIf then else multiplexing operator: if (p) then q else r
 CIfThenElseValueToValueIf then else value to value function
 CIfThenValueToValueIf then value to value function
 Cimply2satisfactionBinary imply operator to return two-level satisfaction logically: x -> y
 Cimply2violationBinary imply operator to return multi-level violation numerically: x -> y
 CindexedListItemIndexed list item operator: List[index]
 CItemListItem list to represent collections of systems, functions, variables, constants, and tabus
 CKaryValueFuncFixed arity value functions
 ClessEqual2satisfactionLess equal operator to return two-level satisfaction logically: x <= y
 ClessEqual2violationLess equal operator to return multi-level violation numerically: x <= y
 ClessThan2satisfactionLess than operator to return two-level satisfaction logically: x < y
 ClessThan2violationLess than operator to return multi-level violation numerically: x < y
 ClinearPiecesLinearSearchLinear pieces with linear search
 CListItemValueToValueList itemValue value to value function
 Clog1Unary log operator: log(x)
 Clog1tenUnary 10-based log operator: log10(x)
 Clog1twoUnary two-based log operator: log2(x)
 CLogicalFlipVarValueLogical flip variables that have boolean states
 CLogicalFlipVarValueSharedVectorLogical flip variables having a shared vector for optimisation metrics
 CMapVarRankFunctionFunctions ranking variables based on mapped parameter expressions
 Cmax2Binary maximum operator: max(x,y)
 Cmax3Ternary maximum operator: max(x,y,z)
 Cmax4Quaternary maximum operator: max(p, q, r, s)
 Cmin2Arithmetical minimum operator: min(x, y)
 Cmin3Ternary minimum operator: min(x,y,z)
 Cmin4Quaternary minimum operator: min(p, q, r, s)
 Cmod2A class to represent the arithmetical mod operator: x % y
 Cmult2Binary multiplication operator: x * y
 Cmult2mixedBinary multiplication operator for mixed data types: int x * float y
 Cmult3Ternary multiplication operator: x * y * z
 Cmult4Quaternary multiplication operator: p * q * r * s
 CMuxValueFuncMultiplexing value functions
 Cnand2satisfactionBinary nand operator to return two-level satisfaction logically: !(x && y)
 Cnand2violationBinary nand operator to return multi-level violation numerically: !(x && y)
 CNandSatisfactionValueToValueNand satisfaction value to value function
 CNaryValueFactorVectorToValueFactorVectorFuncFlexible arity value vector to value vector function
 CNaryValueFuncFlexible arity value functions
 CNaryValueScalarOrFactorVectorToValueFactorVectorFuncFlexible arity value scalar or vector to value vector functions
 CNaryValueScalarToValueFactorVectorFuncFlexible arity value and scalar to value and vector functions
 CNaryValueToValueFactorVectorFuncFlexible arity value to value factor vector function
 Cneg1Unary negation operator: -x
 Cnimply2satisfactionBinary not-imply operator to return two-level satisfaction logically: !(x -> y)
 Cnimply2violationBinary not-imply operator to return multi-level violation numerically: !(x -> y)
 Cnor2satisfactionBinary nor operator to return two-level satisfaction logically: !(x || y)
 Cnor2violationBinary nor operator to return multi-level violation numerically: !(x || y)
 CNorViolationValueToValueNor violation value to value function
 Cnot1satisfactionUnary not operator to return two-level satisfaction: !x
 Cnot1violationUnary not operator to return two-level violation: !x
 CnotBetweenClosedClosed3satisfactionTernary not between closed closed operator returning satisfaction logically: !(a <= x <= b)
 CnotBetweenClosedClosed3violationTernary not between closed closed operator returning violation numerically: !(a <= x <= b)
 CnotBetweenClosedOpen3satisfactionTernary not between closed open operator returning satisfaction logically: !(a <= x < b)
 CnotBetweenClosedOpen3violationTernary not between closed open operator returning violation numerically: !(a <= x < b)
 CnotBetweenOpenClosed3satisfactionTernary not between open closed operator returning satisfaction logically: !(a < x <= b)
 CnotBetweenOpenClosed3violationTernary not between open closed operator returning violation numerically: !(a < x <= b)
 CnotBetweenOpenOpen3satisfactionTernary not between open open operator returning satisfaction logically: !(a < x < b)
 CnotBetweenOpenOpen3violationTernary not between open open operator returning violation numerically: !(a < x < b)
 CnotEquals2satisfactionNot-equals operator to return two-level satisfaction logically: x != y
 CnotEquals2violationNot equals operator to return multi-level violation numerically: x != y
 CNotIfThenValueToValueNot if then value to value function
 COptimalSingleFactorVarSelectorFactorVectorRankSelect an optimal factor variable using factor vector ranking
 COptimalSingleMapVarSelectorMapVarRankSelect an optimal mapped variable using a mapped variable ranking
 COptiSwapOptimisation swap operator that is used if maxi and mini are swapped or vice versa
 Cor2satisfactionBinary or operator to return two-level satisfaction logically: x || y
 Cor2violationBinary or operator to return multi-level violation numerically: x || y
 COrderBoundaryRepresents boundary values in a given order
 COrderBoundary< AscOrder, Int >Register ascending order data boundaries for integer data
 COrderBoundary< AscOrder, Real >Register ascending order data boundaries for real data
 COrderBoundary< DescOrder, Int >Register descending order data boundaries for integer data
 COrderBoundary< DescOrder, Real >Register descending order data boundaries for real data
 COrderComparatorRepresents sorting order binary operators
 COrderComparator< AscOrder, Bool, Bool >Register ascending order for boolean input boolean output
 COrderComparator< AscOrder, Bool, Int >Register ascending order for boolean input integer output
 COrderComparator< AscOrder, Bool, Real >Register ascending order for boolean input real output
 COrderComparator< AscOrder, Int, Bool >Register ascending order for integer input boolean output
 COrderComparator< AscOrder, Int, Int >Register ascending order for integer input integer output
 COrderComparator< AscOrder, Int, Real >Register ascending order for integer input real output
 COrderComparator< AscOrder, Real, Bool >Register ascending order for real input boolean output
 COrderComparator< AscOrder, Real, Int >Register ascending order for real input integer output
 COrderComparator< AscOrder, Real, Real >Register ascending order for real input real output
 COrderComparator< DescOrder, Bool, Bool >Register descending order for boolean input boolean output
 COrderComparator< DescOrder, Bool, Int >Register descending order for boolean input integer output
 COrderComparator< DescOrder, Bool, Real >Register descending order for boolean input real output
 COrderComparator< DescOrder, Int, Bool >Register descending order for integer input boolean output
 COrderComparator< DescOrder, Int, Int >Register descending order for integer input integer output
 COrderComparator< DescOrder, Int, Real >Register descending order for integer input real output
 COrderComparator< DescOrder, Real, Bool >Register descending order for real input boolean output
 COrderComparator< DescOrder, Real, Int >Register descending order for real input integer output
 COrderComparator< DescOrder, Real, Real >Register descending order for real input real output
 COrSatisfactionValueToValueOr satisfaction value to value function
 COrViolationValueToValueOr violation value to value function
 Cpacked2integerPacking 2 integers into one
 Cpacked3integerPacking 3 integers into one
 CParamRankFunctionRanking parameters based on values
 Cpow2Binary power operator: x ^ y
 CQuaternaryValueToValueQuaternary value to value functions
 CRandomSingleFactorVarSelectorRandomly select a factor variable
 CRandomSingleFactorVarSelectorLockRandomly select a factor variable, respecting variable locking
 CRandomSingleFactorVarSelectorSingleVarTabuRandomly select a factor variable, respecting single variable tabu
 CRandomSingleFactorVarSelectorSingleVarTabuLockRandomly select a factor variable, respecting single variable tabu and variable locking
 CRangeVariableRange variables that have domains defined by ranges of values
 CRegularConstantRegular constant model
 CRegularConstValueRegular constant value
 CScalarBaseScalar base is the base class for scalar metrics
 CScalarRecordScalar records store expression scalar metrics
 CSelectorSelects variables or values or moves
 Csin1Unary sin operator: sin(x)
 CSingleRangeVarDoubleObjectiveMonteCarloValueSelectorSelecting a value for a range variable optimising two objectives using Monte Carlo method
 CSingleRangeVarDoubleObjectiveOptimalValueSelectorSelecting an optimal value for a range variable, optimising two objectives
 CSingleRangeVarSingleObjectiveMonteCarloValueSelectorSelecting a value for a range variable optimising an objective using Monte Carlo method
 CSingleRangeVarSingleObjectiveOptimalValueSelectorSelecting an optimal value for a range variable, optimising an objective
 CSingleVarTabuSingle variable tabu family
 CSingleVarTabuDoCallbackSingle variable tabu with callbacks
 CSingleVarTabuDoCallbackCircularQueueSingle variable tabu with callbacks implemented by using a circular queue
 CSingleVarTabuNoCallbackSingle variable tabu with no callback
 CSingleVarTabuNoCallbackCircularQueueSingle variable tabu with no callback implemented by using a circular queue
 Csinh1Unary sinh operator: sinh(x)
 Csqr1Unary sqr operator: sqr(x)
 Csqrt1Unary sqrt operator: sqrt(x)
 CStaticRangeVarValueStatic range variables having domains defined by static ranges
 Csub2Binary subtraction operator: x - y
 Csub2nonnegBinary subtraction operator returning non-negative result : max(0, x - y)
 Csub2nonposBinary subtraction operator returning non-positive result : min(0, x - y)
 CSummationComposeValueToValueSummation compose value to value function
 CSummationValueFactorVectorOptiSwapToValueFactorVectorSummation value vector optimisation swap to value vector function
 CSummationValueFactorVectorToValueFactorVectorSummation value vector to value vector function
 CSummationValueScalarOptiSwapToValueFactorVectorSummation value scalar optimisation swap to value factor vector
 CSummationValueScalarOrFactorVectorOptiSwapToValueFactorVectorSummation value scalar or factor vector optimisation swap to value factor vector function
 CSummationValueScalarOrFactorVectorToValueFactorVectorSummation value scalar or factor vector to value factor vector function
 CSummationValueScalarToValueFactorVectorSummation value scalar to value factor vector
 CSummationValueToValueSummation value to value function
 CSysModeSystem running modes
 CSystemConstraint-based local search systems
 CTabuBaseTabu heuristic base class
 Ctan1Unary tan operator: tan(x)
 Ctanh1Unary tanh operator: tanh(x)
 CTerminalSummationComposeValueToValueTerminal summation compose value to value function
 CTerminalSummationValueToValueTerminal-summation value to value function
 CTernaryValueToValueTernary value to value functions
 CTrueCountComposeValueToValueTrue count compose value to value function
 CTrueCountValueToValueTrue count value to value function
 Ctypecast1Unary type cast operator to transform from one data type to another
 CUnaryValueToValueUnary value to value functions
 CValueFunctionValue function that computes values, not metrics
 CValueRecordValue records store expression values
 CValueVectorFunctionValue vector function model
 CVariableAbstract variable class
 CVarLockVariable locking manager
 CVarValueTabuVariable value tabu family
 CVarValueTabuDoCallbackVariable value tabu with callbacks
 CVarValueTabuDoCallbackCircularQueueVariable value tabu with callbacks, implemented by using circular queue
 CVarValueTabuNoCallbackVariable value tabu with no callback
 CVarValueTabuNoCallbackCircularQueueVariable value tabue with no callback and implemented by using circular queue
 CVectorBaseVector base is the base class for vector metrics
 CVectorFieldVector field to store a field of a vector metric
 CVectorRecordVector record to store expression vector metrics
 CWeightedSummationValueFactorVectorOptiSwapToValueFactorVectorWeighted summation value vector optimisation swap to value vector
 CWeightedSummationValueFactorVectorToValueFactorVectorWeighted summation value vector to value vector
 CWeightedSummationValueScalarOptiSwapToValueFactorVectorWeighted summation value scalar optimisation swap to value factor vector
 CWeightedSummationValueScalarOrFactorVectorOptiSwapToValueFactorVectorWeighted summation value scalar or factor vector optimisation swap to value factor vector function
 CWeightedSummationValueScalarOrFactorVectorToValueFactorVectorWeighted summation value scalar or factor vector to value factor vector function
 CWeightedSummationValueScalarToValueFactorVectorWeighted summation value scalar to value factor vector
 CWeightedSummationValueToValueWeighted summation value to value function
 CWrapperWrappers for values
 Cxnor2satisfactionBinary xnor operator to return two-level satisfaction logically: x <-> y
 Cxnor2violationBinary xnor operator to return multi-level violation numerically: x <-> y
 CXnorSatisfactionValueToValueXnor satisfaction value to value function
 Cxor2satisfactionBinary xor operator to return two-level satisfaction logically: !(x <-> y)
 Cxor2violationBinary xor operator to return multi-level violation numerically: !(x <-> y)
 CXorSatisfactionValueToValueXor satisfaction value to value function