Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Data Structures
Interface_IntList.hxx File Reference
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>
#include <Standard_Integer.hxx>
#include <Handle_TColStd_HArray1OfInteger.hxx>
#include <Standard_Boolean.hxx>

Data Structures

class  Interface_IntList
 This class detains the data which describe a Graph. A Graph
has two lists, one for shared refs, one for sharing refs
(the reverses). Each list comprises, for each Entity of the
Model of the Graph, a list of Entities (shared or sharing).
In fact, entities are identified by their numbers in the Model
or Graph : this gives better performances.

A simple way to implement this is to instantiate a HArray1
with a HSequenceOfInteger : each Entity Number designates a
value, which is a Sequence (if it is null, it is considered as
empty : this is a little optimisation).

This class gives a more efficient way to implement this.
It has two lists (two arrays of integers), one to describe
list (empty, one value given immediately, or negated index in
the second list), one to store refs (pointed from the first
list). This is much more efficient than a list of sequences,
in terms of speed (especially for read) and of memory

An IntList can also be set to access data for a given entity
number, it then acts as a single sequence

Remark that if an IntList is created from another one, it can
be read, but if it is created without copying, it may not be
edited
More...