Michael Davidsaver
eeae12e3d4
Convert: remove to/from*Array
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
ae847aea2b
allow putFrom to implicitly resize
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
e948af1851
PVScalar::assign and PVScalarArray::assign
2013-04-30 18:14:04 -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
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
Michael Davidsaver
0e57391b4d
vxWorks compatibility
2013-04-22 11:59:20 -04:00
Matej Sekoranja
cd95b75563
gcc 4.7+ compiler warnings removed
2013-02-27 11:44:00 +01:00
Matej Sekoranja
c4f6132aca
added simple operators 'test', added <<= >>= operators to PVScalar
2013-02-08 22:45:04 +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
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
07f9a8c0f6
must include standardField or pvAccessCPP fails
2012-10-03 09:08:51 -04: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
519601595c
PVStructure de/serialization fixed
2012-09-12 11:30:58 +02:00
Unknown
a7bd52bd48
minimize preprocessor branching for vxWorks
2012-09-06 17:12:53 +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
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
Marty Kraimer
66fb300873
documentation updated; changes for Field::ID
2012-08-17 06:45:20 -04:00
Matej Sekoranja
ac10b73e69
Field::getID() added
2012-07-31 10:30:50 +02:00
Marty Kraimer
1db56f4b29
fix bug in unsigned standardField; missing const in pvIntrospect.h
2012-07-19 16:08:11 -04:00
Marty Kraimer
5d6205cb44
changes to PVStructureArray
2012-07-08 08:38:57 -04:00
Marty Kraimer
126fe9c711
use const where appropriate
2012-05-22 11:51:53 -04:00
Marty Kraimer
e9b0dcd9f4
lots of work on Scalar Arrays
2012-05-21 10:06:28 -04:00
Matej Sekoranja
8040ad5fc7
serialization test, shared-ptr const
2012-05-18 11:42:57 +02:00
Matej Sekoranja
9ab2262e86
serialization/deserialization of Field-s
2012-05-16 22:11:17 +02:00
Marty Kraimer
29593a6eda
get rid of unnecessary method in class StructureArray
2012-05-16 06:46:23 -04:00