# CbcNWayBranchingObject Class Reference

N way branching Object class. More...

`#include <CbcNWay.hpp>`

Inheritance diagram for CbcNWayBranchingObject:
[legend]
Collaboration diagram for CbcNWayBranchingObject:
[legend]

List of all members.

## Public Member Functions
| CbcNWayBranchingObject ()
| CbcNWayBranchingObject (CbcModel *model, const CbcNWay *nway, int numberBranches, const int *order)
| Useful constructor - order had matrix indices way_ -1 corresponds to setting first, +1 to second, +3 etc.
| CbcNWayBranchingObject (const CbcNWayBranchingObject &)
CbcNWayBranchingObject & | operator= (const CbcNWayBranchingObject &rhs)
| Assignment operator.
virtual CbcBranchingObject * | clone () const
| Clone.
virtual | ~CbcNWayBranchingObject ()
virtual double | branch ()
| Does next branch and updates state.
virtual void | print ()
| Print something about branch - only if log level high.
virtual int | numberBranches () const
| The number of branch arms created for this branching object.
virtual bool | twoWay () const
| Is this a two way object (-1 down, +1 up).
virtual CbcBranchObjType | type () const
| Return the type (an integer identifier) of `this`.
virtual int | compareOriginalObject (const CbcBranchingObject *brObj) const
| Compare the original object of `this` with the original object of `brObj`.
virtual CbcRangeCompare | compareBranchingObject (const CbcBranchingObject *brObj, const bool replaceIfOverlap=false)
| Compare the `this` with `brObj`.
## Private Attributes
int * | order_
| order of branching - points back to CbcNWay
const CbcNWay * | object_
| Points back to object.
int | numberInSet_
| Number in set.

## Detailed Description

N way branching Object class.

Variable is number of set.

Definition at line 81 of file CbcNWay.hpp.

## Constructor & Destructor Documentation

CbcNWayBranchingObject::CbcNWayBranchingObject | ( |  | ) |

CbcNWayBranchingObject::CbcNWayBranchingObject | ( | CbcModel * | model,
|  | const CbcNWay * | nway,
|  | int | numberBranches,
|  | const int * | order |
| ) |  |  |

Useful constructor - order had matrix indices way_ -1 corresponds to setting first, +1 to second, +3 etc.

this is so -1 and +1 have similarity to normal

CbcNWayBranchingObject::CbcNWayBranchingObject | ( | const CbcNWayBranchingObject & |  | ) |

virtual CbcNWayBranchingObject::~CbcNWayBranchingObject | ( |  | ) | `[virtual]`

## Member Function Documentation

CbcNWayBranchingObject& CbcNWayBranchingObject::operator= | ( | const CbcNWayBranchingObject & | rhs | ) |

Assignment operator.

Reimplemented from CbcBranchingObject.

virtual CbcBranchingObject* CbcNWayBranchingObject::clone | ( |  | ) | const`[virtual]`

Clone.

Implements CbcBranchingObject.

virtual double CbcNWayBranchingObject::branch | ( |  | ) | `[virtual]`

Does next branch and updates state.

Implements CbcBranchingObject.

virtual void CbcNWayBranchingObject::print | ( |  | ) | `[virtual]`

Print something about branch - only if log level high.

virtual int CbcNWayBranchingObject::numberBranches | ( |  | ) | const`[inline, virtual]`

The number of branch arms created for this branching object.

Reimplemented from OsiBranchingObject.

Definition at line 125 of file CbcNWay.hpp.

virtual bool CbcNWayBranchingObject::twoWay | ( |  | ) | const`[inline, virtual]`

Is this a two way object (-1 down, +1 up).

Definition at line 129 of file CbcNWay.hpp.

virtual CbcBranchObjType CbcNWayBranchingObject::type | ( |  | ) | const`[inline, virtual]`

Return the type (an integer identifier) of `this`.

Implements CbcBranchingObject.

Definition at line 134 of file CbcNWay.hpp.

virtual int CbcNWayBranchingObject::compareOriginalObject | ( | const CbcBranchingObject * | brObj | ) | const`[virtual]`

Compare the original object of `this` with the original object of `brObj`.

Assumes that there is an ordering of the original objects. This method should be invoked only if `this` and brObj are of the same type. Return negative/0/positive depending on whether `this` is smaller/same/larger than the argument.

virtual CbcRangeCompare CbcNWayBranchingObject::compareBranchingObject | ( | const CbcBranchingObject * | brObj,
|  | const bool | replaceIfOverlap = `false` |
| ) |  |  | `[virtual]`

Compare the `this` with `brObj`.

`this` and `brObj` must be os the same type and must have the same original object, but they may have different feasible regions. Return the appropriate CbcRangeCompare value (first argument being the sub/superset if that's the case). In case of overlap (and if `replaceIfOverlap` is true) replace the current branching object with one whose feasible region is the overlap.

## Member Data Documentation

int* CbcNWayBranchingObject::order_`[private]`

order of branching - points back to CbcNWay

Definition at line 160 of file CbcNWay.hpp.

const CbcNWay* CbcNWayBranchingObject::object_`[private]`

Points back to object.

Definition at line 162 of file CbcNWay.hpp.

int CbcNWayBranchingObject::numberInSet_`[private]`

Number in set.

Definition at line 164 of file CbcNWay.hpp.

The documentation for this class was generated from the following file:

- /home/coin/svn-release/Cbc-2.8.0/Cbc/src/CbcNWay.hpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines