Michael Davidsaver
1bf2ff430a
array resize respect immutability
2013-05-23 17:51:52 -04:00
Michael Davidsaver
992ac73068
use new API
...
make copying explicit and replace some
use of PVValueArray<T>::put and get
2013-05-08 18:35:51 -04:00
Michael Davidsaver
e843779555
New array API for PVValueArray using shared_vector<T>
...
* In PVScalarArray
Add methods assign, getAs/putFrom, and copyOut/copyIn to allow get/put
with implicit convert.
assign() copys on PVScalarArray to another converting as necessary.
If the types do not match then an allocate and convert is done.
getAs/putFrom work with shared_vector<T> and can avoid a allocate
and convert operation if the types match.
copyOut/copyIn use plain C arrays will do either a copy if the types
match, and a convert otherwise. No allocation is performed.
* In PVValueArray<T>
All array operations re-implemented in terms of
two virtual methods
virtual const shared_vector<T>& viewUnsafe() const;
virtual void swap(shared_vector<T>&);
Some convienence methods are also included:
shared_vector<const T> view() const
shared_vector<T> take()
shared_vector<T> reuse()
Deprecate get(...), put(...), and shareData(...)
Remove getVector() and getSharedVector()
Adjust DefaultPVArray accordingly
2013-05-08 18:35:51 -04:00
Michael Davidsaver
5f4ca240b4
add ScalarTypeFunc::elementSize
2013-05-08 18:35:50 -04:00
Michael Davidsaver
79cd374f16
add ScalarTypeFunc::allocArray
2013-05-08 18:35:50 -04:00
Michael Davidsaver
461dbdf0f8
remove Convert pointer from PVField
...
Allow inline construction of Convert
2013-05-08 17:46:31 -04:00
Michael Davidsaver
9e8a6b6304
fix const-ness in PVField compare
2013-05-08 17:46:31 -04:00
Michael Davidsaver
1d1d2b31cd
remove remaining state from Convert
2013-05-01 14:20:01 -04:00
Michael Davidsaver
f0aa2fe0e0
fix printer
...
Don't overflow the stack for deep structures!
2013-05-01 12:18:21 -04:00
Michael Davidsaver
00ac5bf64f
PVStructure::getNumberFields != Structure::getNumberFields
...
Apparently PVStructure::getNumberFields is one indexed???
2013-05-01 12:18:21 -04:00
Michael Davidsaver
ee5a370c01
misc
2013-04-30 18:14:05 -04:00
Michael Davidsaver
659ce13e98
replace vector to/from in Convert
2013-04-30 18:14:04 -04:00
Michael Davidsaver
a7fde21300
replace scalar to/from in Convert
2013-04-30 18:14:04 -04:00
Michael Davidsaver
a6bfab2d74
replace copyScalarArray with PVScalarArray::assign
2013-04-30 18:14:04 -04:00
Michael Davidsaver
2062cc5d10
Convert::toStringArray with castUnsafe
2013-04-30 18:14:02 -04:00
Michael Davidsaver
e85d10c6d9
Convert::fromStringArray with castUnsafe
2013-04-30 18:14:02 -04:00
Michael Davidsaver
0e0ab66d45
add PVScalarArray::getAs and PVScalarArray::putFrom
2013-04-30 18:14:02 -04:00
Michael Davidsaver
f2635c7fdc
Convert::fromString with castUnsafe
2013-04-30 18:14:02 -04:00
Michael Davidsaver
4d92bbe541
Use PrinterPlain in Convert
2013-04-30 18:14:01 -04:00
Michael Davidsaver
e6e1434fc1
Add PrinterPlain
2013-04-30 18:13:32 -04:00
Michael Davidsaver
5e689f94f4
add PVScalar::getAs and PVScalar::putFrom
...
Allow get/put to a scalar without knowledge of ScalarType
Currently won't work correctly for PVBoolean
2013-04-26 15:44:05 -04:00
Michael Davidsaver
c1b6d26b8e
Convert::equals: move to operator==(PVField&,PVField&)
2013-04-22 16:12:03 -04:00
Michael Davidsaver
f72c5dba84
PVStructure compare typo
2013-04-22 15:47:51 -04:00
Michael Davidsaver
704007092c
Convert::getFullName becomes PVField::getFullName
...
Compatibility wrapper using current Convert API
Allow PVField::getFieldName to be inline'd
Avoid multiple resize and copy operations
on result String.
2013-04-22 14:48:59 -04:00
Matej Sekoranja
0dd6f01ef6
direct, i.e. no-copy, de/serialization support
2013-04-12 21:54:11 +02:00
Matej Sekoranja
cd95b75563
gcc 4.7+ compiler warnings removed
2013-02-27 11:44:00 +01:00
Matej Sekoranja
675243061d
-Wextra compiler warnings fixed
2013-02-16 12:50:36 +01:00
Matej Sekoranja
a0de4f126f
operator<< for all PVField, indent and array_at manipulator
2013-02-07 22:52:16 +01:00
Marty Kraimer
4bc7e9c8fe
several minor problems found while developing pvDatabaseCPP
2012-12-12 14:59:33 -05:00
Marty Kraimer
1d3c4d1762
get rid of unnecessary copies for StringArray
2012-10-29 13:32:34 -04:00
Marty Kraimer
51abc5032c
make sure copy of vector is not made
2012-10-20 07:24:07 -04:00
Marty Kraimer
d627e08419
fix bug in PVStructure::appendPVField and PVStructure::appendPVFields
2012-10-11 06:19:08 -04:00
Matej Sekoranja
bd9f1d1949
StandardField IDs, dumpValue fix for (u)int8
2012-10-10 17:59:12 +02:00
Matej Sekoranja
04db13d00e
default Structure id serialization opt.
2012-10-09 08:43:43 +02:00
Matej Sekoranja
f88f0b4a76
localStaticLock - static local thread-safety
2012-10-08 12:19:21 +02:00
Marty Kraimer
5ba0209f39
get rid of all static global objects
2012-10-03 08:59:23 -04:00
Marty Kraimer
ced439f4c4
fix for crash in pvDataCPP testV3Channel
2012-10-02 16:01:03 -04:00
Matej Sekoranja
cf44ec1191
scalar array (de)serialization fixed
2012-10-01 21:47:43 +02:00
Marty Kraimer
a23631a8ca
fix bug related to PVStructurePtr createPVStructure(
...
StringArray const & fieldNames,PVFieldPtrArray const & pvFields);
The old implementation created a new version of each element of pvField.
The new version uses the version from pvFields.
There is a new shared pointer but the new shared pointer referenced the
same PVField as the original.
2012-09-28 06:33:39 -04:00
Unknown
6a378dae0d
removed sprintf format warnings
2012-09-14 13:54:35 +02:00
Unknown
0b4a8550e5
type cast warnings removed
2012-09-13 17:50:38 +02:00
Matej Sekoranja
519601595c
PVStructure de/serialization fixed
2012-09-12 11:30:58 +02:00
Matej Sekoranja
4cef1135a3
PVStructure serialization fixed
2012-09-10 08:56:11 +02:00
Unknown
55df2e06e2
compatibility with vxWorks
2012-09-05 14:11:07 +02:00
Matej Sekoranja
cfc9ebefb0
merge
2012-09-03 23:46:06 +02:00
Matej Sekoranja
516518529c
VxWorks ports from Dirk
2012-09-03 23:43:26 +02:00
Marty Kraimer
6b4eb1a1b0
StandardField: fix enumeratedAlarm ; testConvert fix uint64 integer constants
2012-08-28 13:09:37 -04:00
Marty Kraimer
5e3311a024
LICENSE, COPYRIGHT, file header
2012-08-22 14:39:19 -04:00
Matej Sekoranja
4b26e1c442
dumpValue methods
2012-08-21 23:34:59 +02:00
Marty Kraimer
8f3a1dde34
Use "String const &" in many more places
2012-08-20 09:16:43 -04:00