RE: [sv-bc] stream to object hierarchy

From: Bresticker, Shalom <shalom.bresticker_at_.....>
Date: Sun Apr 13 2008 - 19:42:23 PDT
Thanks.
 
But why is this called "reconstruction"?
 
The particular example you gave does a copy.
 
But in general, an unpack operation does not have to be doing a copy.
 
Thanks,
Shalom


________________________________

	From: Arturo Salz [mailto:Arturo.Salz@synopsys.com] 
	Sent: Sunday, April 13, 2008 11:48 PM
	To: Bresticker, Shalom; sv-bc
	Cc: sv-ec@eda.org
	Subject: RE: [sv-bc] stream to object hierarchy
	
	

	Shalom,

	 

	That sentence is in the context of this paragraph: 

	When applied to a class handle (i.e., an object), the streaming
operator shall stream the contents of the object, and not the handle
itself. Class items are streamed in declaration order; extended class
items shall fol-low the items of their superclass. Embedded class
handles are streamed as other aggregate types: they are recursively
traversed in depth-first order until reaching integral types.  A null
class handle shall be ignored (not streamed), and a warning may be
issued. Null handles are skipped by both the pack and unpack opera-tors;
therefore, the unpack operation shall not create class objects.

	 

	Hence it conveys two concepts:

	1) Re-emphasizes that last sentence stating that streaming
operations do not create objects.

	2) A stream can be unpacked into a collection of contained
objects, provided the objects exist prior to streaming.

	 

	Here's an example:

	 

	class Number;

	  int  n;

	  function new(int x); n = x; endfunction

	endclass

	 

	class Pair;

	  Number  left;

	  Number  right;

	  int     avg;

	endclass

	 

	Pair p, r;

	bit q[$];

	p = new(); p.left = new(2); p.right = new(4); p.avg = 3;  //
create and initialize Pair object

	 

	q = {<<{p}};      // stream object into queue

	 

	r = new(); r.left = new(0); r.right = new(0);             //
create other Pair object

	{<<{r}} = q;            // stream queue onto new object
collection - r is a copy of p

	 

	In order for 'r' above to be a copy of p, the two contained
objects (r.left and r.right) must have been created (as done above).

	 

	            Arturo

	 

	From: owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] On Behalf
Of Bresticker, Shalom
	Sent: Sunday, April 13, 2008 1:20 AM
	To: sv-bc
	Subject: [sv-bc] stream to object hierarchy

	 

	Hi, 

	1.4.14 says about the streaming operators, 

	If a particular object hierarchy is to be reconstructed from a
stream, the object hierarchy into which the stream is unpacked must be
created before the streaming operator is applied.

	Can someone explain to me what this means and give an example? 

	Thanks, 
	Shalom 

	Shalom Bresticker 
	Intel Jerusalem LAD DA 
	+972 2 589-6582 
	+972 54 721-1033 

	
---------------------------------------------------------------------
	Intel Israel (74) Limited
	 
	This e-mail and any attachments may contain confidential
material for
	the sole use of the intended recipient(s). Any review or
distribution
	by others is strictly prohibited. If you are not the intended
	recipient, please contact the sender and delete all copies.

	
	-- 
	This message has been scanned for viruses and 
	dangerous content by MailScanner <http://www.mailscanner.info/>
, and is 
	believed to be clean. 

---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Sun Apr 13 19:45:35 2008

This archive was generated by hypermail 2.1.8 : Sun Apr 13 2008 - 19:47:03 PDT