fixed possible SEGFAULT in ceateRequest; new stream operator for Field and PVField
This commit is contained in:
@@ -1,4 +1,45 @@
|
||||
<h1>Release 4.0 IN DEVELOPMENT</h1>
|
||||
<h1>Release 4.1 IN DEVELOPMENT</h1>
|
||||
<p>The main changes since release 4.0 are:</p>
|
||||
<ul>
|
||||
<li>Convert::copyUnion now always copies between subfields.</li>
|
||||
<li>CreateRequest prevents a possible SEGFAULT.</li>
|
||||
<li>New stream operators for Field and PVField are provided.</li>
|
||||
</ul>
|
||||
<h2>Convert::copyUnion</h2>
|
||||
<p>Before this method, depending on types for to and from,
|
||||
sometimes did a shallow cppy, i. e. just made to shared_ptr for to
|
||||
share the same data as from.
|
||||
Now it always copies between the subfield of to and from.</p>
|
||||
<h2>CreateRequest change</h2>
|
||||
<p>createRequest could cause a SEGFAULT if passed a bad argument.
|
||||
This has been changed so the it returns a null pvStructure
|
||||
and provies an error.</p>
|
||||
<h2>New stream operators</h2>
|
||||
<p>New steam operators are available for Field and PVField.
|
||||
Before to print a Field (or any extension) or a PVField (or any extension)
|
||||
it was necessary to have code like:</p>
|
||||
<pre><code> void print(StructureConstPtr struct, PVStructurePtr pv)
|
||||
{
|
||||
if(struct) {
|
||||
cout << *struct << endl;
|
||||
} else {
|
||||
cout << "nullptr\n"
|
||||
}
|
||||
if(pv) {
|
||||
cout << *.struct << endl;
|
||||
} else {
|
||||
cout << "nullptr\n"
|
||||
}
|
||||
}
|
||||
</code></pre>
|
||||
<p>Now it can be done as follows:</p>
|
||||
<pre><code> void print(StructureConstPtr struct, PVStructurePtr pv)
|
||||
{
|
||||
cout << struct << endl;
|
||||
cout << pv << endl;
|
||||
}
|
||||
</code></pre>
|
||||
<h1>Release 4.0</h1>
|
||||
<p>The main changes since release 3.0.2 are:</p>
|
||||
<ul>
|
||||
<li>array semantics now enforce Copy On Write.</li>
|
||||
@@ -55,4 +96,4 @@ only on pvData, i. e. it no longer has any knowledge of PVRecord.</p>
|
||||
<p>This is for is for use by code that implements pvAccess monitors.
|
||||
This is prototype and is subject to debate.</p>
|
||||
<h1>Release 3.0.2</h1>
|
||||
<p>This was the starting point for RELEASE_NOTES</p>
|
||||
<p>This was the starting point for RELEASE_NOTES</p>
|
||||
Reference in New Issue
Block a user