A dynamic down cast or cross cast is performed at run time within an object-oriented programming language such as C++. The compiler generates data structures during a compile; at run time a routine in the language support library accesses the generated data structures in order to perform the dynamic cast. Class structure information is provided in a size that varies linearly as the total number of classes in the class hierarchy. Cryptographic hashing of class names is used to provide uniqueness. The dynamic cast addresses complications in C++ due to "virtual" and "nonvirtual" inheritance. A run time type identification (RTTI) data structure is created at compile time. An offset within an object description is calculated for each sub-object of the object. Those virtual base classes that are duplicates are skipped producing a data structure that may be searched linearly as the number of classes in the hierarchy. An identifier for each sub-object is stored in the data structure along with its offset. Each virtual table also stores the offset of its corresponding sub-object. A cast operation is performed at run time using the RTTI data structure. The static type object pointer is used to access the object through a particular sub-object. The virtual table associated with the sub-object is used to access the RTTI data structure. The data structure is searched for the target type, and the offset associated with the target type is combined with the offset from the virtual table to adjust the object pointer to cast it to the target type.

Een dynamisch beneden gegoten gietvorm of een kruis uitgevoerd=worden= in looppastijd binnen een object-oriented programmeertaal zoals C ++, De compiler produceert gegevensstructuren tijdens compileert; in looppastijd een routine in de de bibliotheektoegangen van de taalsteun de geproduceerde gegevensstructuren om de dynamische gietvorm uit te voeren. De de structuurinformatie wordt van de klasse verstrekt in een grootte die lineair als totaal aantal klassen in de klassenhiërarchie variëert. Het cryptografische hakken van klassennamen wordt gebruikt om uniciteit te verstrekken. De dynamische gietvorm richt complicaties in C ++ toe te schrijven aan "virtuele" en "nonvirtual" overerving. Een structuur het type van looppastijd van identificatie (RTTI) gegevens wordt gecreeerd bij compileert tijd. Een compensatie binnen een objecten beschrijving wordt berekend voor elk sub-voorwerp van het voorwerp. Die virtuele basisklassen die duplicaten zijn worden overgeslagen veroorzakend een gegevensstructuur die lineair als aantal klassen in de hiërarchie kan worden gezocht. Een herkenningsteken voor elk sub-voorwerp wordt opgeslagen in de gegevensstructuur samen met zijn compensatie. Elke virtuele lijst slaat ook de compensatie van zijn overeenkomstig sub-voorwerp op. Een gietvormhandeling wordt uitgevoerd in looppastijd gebruikend de Rtti- gegevensstructuur. De statische typeobjecten wijzer wordt gebruikt om tot het voorwerp door een bepaald sub-voorwerp toegang te hebben. De virtuele lijst verbonden aan het sub-voorwerp wordt gebruikt om tot de Rtti- gegevensstructuur toegang te hebben. De gegevensstructuur wordt gezocht naar het doeltype, en de compensatie verbonden aan het doeltype wordt gecombineerd met de compensatie van de virtuele lijst om de objecten wijzer aan te passen om het aan het doeltype te gieten.

 
Web www.patentalert.com

< (none)

< Method for evaluation of the ratio of amounts of biomolecules or their sub-populations in a mixture

> Graphical test progress monitor

> (none)

~ 00003