More efficient use of memory resources
--------------------------------------

                 Key: AXISCPP-1028
                 URL: https://issues.apache.org/jira/browse/AXISCPP-1028
             Project: Axis-C++
          Issue Type: Improvement
          Components: Client - Deserialization
            Reporter: nadir amra
         Assigned To: nadir amra


When deserializing simple types, and the type is a pointer type, the code 
generator generates code as follows: 

                param->setrequiredAttribute (pValue0);
                Axis::AxisDelete( (void *) pValue0, XSD_STRING);

That is, we use the setter method which makes a copy of the string, and then 
delete the string.  It would be more efficient to store the deserialized value 
in the class without making a copy and performing a delete. 

To achieve this goal, need to enhance setter methods so that not only is a flag 
indicating whether a deep copy is to be performed is generated, but another 
flag indicating whether a copy is to be performed.  By default, the makeCopy 
flag will be true and thus will provide the same semantics as the code is 
today.  However, the code generator can then make use of this flag so that it 
can call the setter method with deep copy set to true and makeCopy flag set to 
false - implying that the value being passed in should be stored in the class 
as-is, but because deep flag is set to true, it will be owned by the object.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to