Matej Sekoranja
301038664e
win32 port: visibility, warnings, templates
2013-11-27 01:11:12 +01:00
Matej Sekoranja
bdb4430bb6
Win32 port: fix and success compile and run using GCC -fvisibility=hidden
2013-11-20 13:40:07 +01:00
Matej Sekoranja
a574dbf89b
start of Win32 port
2013-11-20 13:04:28 +01:00
Matej Sekoranja
1aff2ec112
tempalte helpers; static initialization order
2013-11-08 13:50:54 +01:00
Matej Sekoranja
d40c41048d
PVUnion/PVUnionArray support and tests
2013-11-07 14:12:26 +01:00
Michael Davidsaver
14dc098761
no deperecated warning on old vxworks
2013-10-29 16:58:09 -04:00
Michael Davidsaver
8c6a895b19
disambiguate a template
2013-10-29 16:54:02 -04:00
Michael Davidsaver
11e91ac3fa
Merge branch 'shared-vector'
2013-10-28 17:42:11 -04:00
Andrew Johnson
c3d04fdd08
Fix VxWorks builds
2013-09-05 10:26:56 -05:00
Michael Davidsaver
c643509c7e
PVField converters use type
...
Use type as template parameter instead of ScalarType
enum value.
2013-07-29 15:08:59 -04:00
Michael Davidsaver
0860f8e6f9
don't use deprecated PVValueArray<T>::get()
2013-07-29 11:44:53 -04:00
Michael Davidsaver
9ac030169a
update pvD array handling
...
Interface only uses shared_vector<const T>
storage also uses only const.
2013-07-25 17:22:16 -04:00
Michael Davidsaver
105c3185f7
remove take(), copyIn(), and copyOut().
2013-07-19 14:20:55 -04:00
Michael Davidsaver
0c4ef8f079
PV* use shared_vector_convert
2013-07-09 18:24:50 -04:00
Michael Davidsaver
79eeb0fa2a
update PVScalar and PVScalarValue<T>
...
hide the void* members for now.
Define PVScalarValue<T>::getAs and putFrom
to give a more efficient implementation.
2013-07-09 18:24:41 -04:00
Michael Davidsaver
6900d4bbec
make boolean type unambiguous
...
"char", "signed char", and "unsigned char"
are distinct types. Define "boolean" to
be whichever is not "int8" or "uint8".
2013-07-08 09:58:37 -04:00
Michael Davidsaver
00da6c88ae
minor
2013-07-03 11:41:53 -04:00
Michael Davidsaver
986f036d20
replace accepts const_svector
...
Allows
PVValueArray<T> *a, *b;
a->replace(b->view());
2013-07-03 11:34:32 -04:00
Michael Davidsaver
7f9745c8d1
Implement PVStructureArray with shared_vector
...
Combine as much as possible with scalar array handling.
PVStructureArray becomes PVValueArray<shared_ptr<PVStructure> >
Bulk of shared implementation moved the PVVectorStorage
which has a parametrized base to avoid using multiple inheritance.
2013-06-11 17:42:30 -04:00
Michael Davidsaver
4294710d9e
make viewUnsafe protected
...
No longer part of the public API of PVValueArray
2013-06-03 19:31:05 -04:00
Michael Davidsaver
82a33460cf
pvData update doc comments
2013-05-31 09:58:52 -04:00
Michael Davidsaver
9e865bc37d
Avoid unnecessary copying in copyIn
...
Only re-use the existing reference if
it is large enough to hold all the new data.
If it isn't then throw it away to avoid
copying its current contents during
the resize().
2013-05-23 18:19:35 -04:00
Michael Davidsaver
629c8346d2
postPut in new array API
...
Call when appropriate (putFrom(), copyIn(), and replace()).
Not called by swap(), take(), reuse(), or shareData().
Users of the second set of methods are expected to call
one of the methods in the first set, or call postPut() directly.
Document when postPut is (not) called.
2013-05-23 17:51:52 -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
461dbdf0f8
remove Convert pointer from PVField
...
Allow inline construction of Convert
2013-05-08 17:46:31 -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
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
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
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
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
Marty Kraimer
5ba0209f39
get rid of all static global objects
2012-10-03 08:59:23 -04:00
Matej Sekoranja
519601595c
PVStructure de/serialization fixed
2012-09-12 11:30:58 +02:00
Unknown
55df2e06e2
compatibility with vxWorks
2012-09-05 14:11:07 +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
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
Marty Kraimer
ca195b44cf
more debuging
2012-05-15 11:58:24 -04:00
Marty Kraimer
a396d8e6ac
change the way PVField::getFieldName is implemented
2012-05-15 09:40:44 -04:00