Michael Davidsaver
7e8c49f0a0
don't use shared_ptr::get() for null test
...
unnecesarily verbose
2018-02-21 11:17:49 -08:00
Michael Davidsaver
786575c3de
a little bit of cleanup and minor opt
2018-02-06 10:02:08 -08:00
Michael Davidsaver
43ee4b9cb6
thread safe getFieldCreate() and getPVDataCreate()
...
Fully thread safe and ctor order safe on all targets
(not just c++11). Never destroyed to avoid global
dtor order issues.
2017-12-28 11:52:47 -06:00
Michael Davidsaver
207c24a4fd
deprecate LOCAL_STATIC_LOCK
...
This construct is fairly useless.
Doesn't prevent ctor ordering problems.
2017-12-28 11:52:47 -06:00
Michael Davidsaver
e79c49019d
quiet warning
2017-12-11 21:08:59 -06:00
Michael Davidsaver
5bc081a3af
skip unnecessary inclusion of localStaticLock.h
2017-12-11 21:08:59 -06:00
Michael Davidsaver
a88d491012
win64 one more time, move explicit instantiations after all definitions.
2017-10-06 11:06:23 +02:00
Michael Davidsaver
fd34d68933
another win64 attempt, explicitly instanciate
2017-10-05 16:24:45 +02:00
Michael Davidsaver
215e3aab7b
one more attempt to appease win64
2017-10-05 15:32:31 +02:00
Michael Davidsaver
9b1e789e62
PVUnion: get() const propagation, add guess(), and inline trival
2017-09-30 13:43:50 -05:00
Michael Davidsaver
406b163bcc
factory methods avoid creating unnecessary temporaries
...
Avoid some ref. counter activity (still have global mutex...)
2017-09-30 11:09:52 -05:00
Michael Davidsaver
6f2cae95e1
PVField: getParent() const propagation and inline trival
2017-09-30 11:00:37 -05:00
Michael Davidsaver
27f2f87e29
reftrack class Field
2017-09-29 15:30:50 -05:00
Michael Davidsaver
822173979c
FieldBuilder::add() ignore exact duplicates
2017-09-21 13:41:11 -05:00
Michael Davidsaver
9bce66f307
FieldBuilder edit union/structureArray/unionArray
...
Allow appending fields to existing types
to allow structure-like types
2017-09-21 13:41:11 -05:00
Michael Davidsaver
72fe0ca3e7
minor
2017-09-21 13:41:11 -05:00
Michael Davidsaver
9ae221ca0c
apply reftrack to PVField
2017-08-30 11:13:10 -05:00
Michael Davidsaver
3597fbe382
avoid unnecessary temp shared_ptr
...
avoid some extra ref. counter operations.
2017-08-16 17:49:17 +02:00
Michael Davidsaver
0b262baf97
fix getSubField() by index
2017-08-16 16:29:06 +02:00
Michael Davidsaver
78b51ebe59
c++98 compatible, but still reduced, number of getSubField() specializations
2017-08-16 11:22:42 +02:00
Michael Davidsaver
b84ed964f9
reduce # of PVStructure::getSubField overloads
2017-08-15 18:35:54 +02:00
Michael Davidsaver
ceb9f795cb
whitespace: quiet gcc6 indentation warning
2017-07-17 16:25:00 +02:00
Michael Davidsaver
9fa5028f6c
PVStructure::getStructure() avoid creation of temporary
...
avoid some ref-counter activity
2017-07-07 14:39:25 +02:00
Michael Davidsaver
6cf9fa2208
fix "hides overloaded virtual function" warning
2017-06-14 13:22:06 +02:00
Michael Davidsaver
6e62e123e8
FieldBuilder allow append to Structure
...
Helpful to allow a new definition to be created
as an extension of an existing definition.
2017-05-15 12:46:32 -04:00
Michael Davidsaver
81cdf071a8
FieldBuilder detect duplicate field names
2017-05-12 13:24:37 -04:00
Michael Davidsaver
fb232896a8
avoid unnecessary globals
2017-05-10 15:00:55 -04:00
Michael Davidsaver
225f3ab125
Remove hidden sub-class
...
collapse Base* and Default* classes
into parents.
2017-05-10 15:00:55 -04:00
Michael Davidsaver
a01885536c
PVUnion fixups
...
select(int32)
throw for variant w/ other than UNDEFINED_INDEX.
Now same behavior for variant and discriminating,
which is to clear contents.
Fix selector range check.
set(int32)
Fix set(UNDEFINED_INDEX, NULL) for discriminating.
Fix selector range check.
2017-04-15 16:19:23 -04:00
Michael Davidsaver
f7343674ee
make PVUnion::UNDEFINED_INDEX const
2017-04-15 16:19:23 -04:00
Dave Hickin
d9072402db
Update source boilerplate for new LICENSE file
2016-07-22 15:56:43 +01:00
Dave Hickin
028076e79c
Add char* overload for non-template getSubField
2016-07-04 14:59:56 +01:00
Andrew Johnson
b18b4f236f
Make the PVScalarValue explicit specializations inline
...
Microsoft's compiler seems to prefer this when building a static library.
2016-04-11 17:16:43 -05:00
Andrew Johnson
605d4e99b9
Remove remaining 'undef epicsExportSharedSymbols' stuff
2016-04-11 15:24:46 -05:00
Andrew Johnson
5c16357fe2
Don't redefine NOMINMAX (clean up MinGW warnings)
2016-03-28 16:41:28 -05:00
Michael Davidsaver
d2fc922ee7
remove unnecessary const_cast
2016-03-18 14:53:24 -04:00
Michael Davidsaver
4f499aed01
remove PVField::notImplemented
...
An unused waste of space in every instance...
2016-02-26 12:13:23 -05:00
Michael Davidsaver
de3c2656ef
INC += pv/
2016-02-10 14:40:29 +00:00
Michael Davidsaver
3b2e9b2485
move all headers to pv/
2016-02-10 14:40:29 +00:00
Michael Davidsaver
a34c38c9b9
getSubField -> getSubFieldT to avoid potential NULL de-ref.
2016-01-25 12:12:06 -05:00
Michael Davidsaver
14b0e409f2
missing buffer capacity check in PVUnion::serialize
...
Allows a buffer overflow in PVUnionArray::serialize().
2015-12-28 18:16:01 -05:00
Michael Davidsaver
f4a00f2b0f
field names may not begin with a digit
...
Enforce C identifer syntax
[A-Za-z_][A-Za-z0-9_]*
2015-11-23 14:31:27 -05:00
Michael Davidsaver
3714be4f16
fail zero length field names
2015-09-24 13:04:49 -04:00
Michael Davidsaver
f24f565e58
validate field names
...
check for invalid characters in field names (eg '.').
Restrict character set to ascii alpha numeric and '_'.
2015-09-23 15:32:46 -04:00
Dave Hickin
ddebd494c6
Remove deprecated PVStructure::get*Field Functions
...
Remove the deprecated functions such as getIntField in PVStructure,
whose usage has been replaced by that of the template getSubField
function and which are now no longer called anywhere.
2015-07-28 17:45:26 +01:00
Dave Hickin
5834efb709
Remove calls of deprecated getScalarArrayField
2015-07-24 11:21:58 +01:00
Dave Hickin
ac2b6ea8db
Make getSubFieldT return shared pointer
...
Signed-off-by: Dave Hickin <david.hickin@diamond.ac.uk >
2015-07-13 12:48:05 +01:00
Dave Hickin
9827caa3e3
Make overloads of getSubField and getSubFieldT match
...
For each getSubField overload a throwing getSubFieldT has been added and
vice versa. These have been documented in doxygen and in the module
documentation.
Signed-off-by: Dave Hickin <david.hickin@diamond.ac.uk >
2015-07-13 12:41:47 +01:00
Dave Hickin
ebe2d6196c
Rename getAs getSubFieldT
...
Signed-off-by: Dave Hickin <david.hickin@diamond.ac.uk >
2015-07-13 12:34:15 +01:00
Dave Hickin
1dba611b8e
Improve exception messages when getting PVStructure subfield
...
Signed-off-by: Dave Hickin <david.hickin@diamond.ac.uk >
2015-07-13 11:47:21 +01:00