Open CASCADE Technology
6.5.4
|
#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... |