1038182a16
removed empty lines at end of file
2020-04-15 07:53:22 -07:00
60091bfe56
removed spaces at end of line
2020-04-15 07:53:22 -07:00
f4de6dd9b1
replaced tabs with spaces
2020-04-15 07:53:22 -07:00
Michael Davidsaver
df89135455
cleanup
2019-10-11 16:17:49 -07:00
Michael Davidsaver
95d452870c
move dedup to most derived
...
Making virtual calls from a base class dtor is not safe.
2019-10-11 16:17:25 -07:00
Michael Davidsaver
8a82ff9fe4
Revert "dynamic_cast may not be defined during dtor"
...
This reverts commit dd24b2ad75 .
2019-10-11 08:41:30 -07:00
Michael Davidsaver
dd24b2ad75
dynamic_cast may not be defined during dtor
2019-09-30 18:24:13 -07:00
Bruno Martins
4dd7a18301
Improve docs. Make getFieldT(offset) use vector::at.
2019-05-20 16:35:59 -07:00
Bruno Martins
b050fbbcbe
Revert {Structure,Union}::getField to previous behavior
2019-05-20 16:35:59 -07:00
Bruno Martins
caa11605fc
Add {Structure,Union}::getFieldT, fix {Structure,Union}::getField
2019-05-20 16:35:59 -07:00
Michael Davidsaver
d746e1bfb3
minor
2019-03-11 14:04:53 -07:00
Michael Davidsaver
45265b4f9b
Add FieldBuilder::begin() and Field::build()
...
Boilerplate reduction in structure
definition and instanciation.
2018-10-16 20:52:24 -07:00
Michael Davidsaver
a02a60c658
Field::m_hash friends
...
Avoid additional access of m_hash by FieldCreate::Helper
which has an unclear (though I think correct) friend
relationship with Field.
Attempt to placate old gcc 3.4.4
2018-09-19 11:04:02 -07:00
Michael Davidsaver
c8b615b3ee
Field initialize m_hash
...
valgrind complain (rightly) about use of uninitialized
if Structure ctor throws (eg. duplicate field).
~Field will then try to use m_hash before it has been
initialized. This don't hurt and the subsequent equality
tests prevent any bad behavior.
2018-07-30 14:50:19 -07:00
Michael Davidsaver
a029455466
Thread reftrack
2018-07-11 16:30:04 -07:00
Michael Davidsaver
0406a2f614
Field de-duplication
...
add a global cache of Field instances to
allow O(0) comparison of types.
2018-07-06 12:01:14 -07:00
Michael Davidsaver
f1553cc90e
Move NOMINMAX to configure/CONFIG_SITE
...
The macro must be defined before MS system headers are
included.
This rev. remove #define NOMINMAX from public headers,
but no public headers use min()/max() and this was
never the correct way to use this macro as by convention
library headers are included after system headers,
which is too late to have an effect.
2018-05-28 11:24:49 -07: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
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
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
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
Dave Hickin
d9072402db
Update source boilerplate for new LICENSE file
2016-07-22 15:56:43 +01: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
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
0d857999bf
Make default type ID strings const.
...
Signed-off-by: Dave Hickin <david.hickin@diamond.ac.uk >
2015-06-17 14:51:07 +01:00
Michael Davidsaver
e07f6c1703
Friendlier exception messages w/ stack trace during Field creation
2015-06-12 13:54:03 -04:00
dhickin
b39662450f
Fix for windows static build static initialisation errors.
2015-06-08 04:58:04 +01:00
dhickin
45dde325fd
Change the printing of structure array and union array fields of structure introspection objects. Removes superfluous information and brings it in line with pvData meta language.
2015-03-20 17:23:32 +00:00
Matej Sekoranja
4cb3c22221
update code to the new method, removed copy from convert
2015-02-17 18:56:56 +01:00
Marty Kraimer
6cb95c5cfc
fixed possible SEGFAULT in ceateRequest; new stream operator for Field and PVField
2015-02-11 07:26:04 -05:00
Matej Sekoranja
4acf7edf95
non-copy (by reference) retrival of getFields()/getPVFields()/getFieldNames()
2015-01-30 11:35:43 +01:00
Matej Sekoranja
37f6dff065
bounded string
2014-08-19 20:42:15 +02:00
Matej Sekoranja
57e33c8f7d
clang porting
2014-08-13 09:36:37 +02:00
Matej Sekoranja
622e140622
Fixed/bounded scalar array impl.
2014-07-30 21:41:08 +02:00
Matej Sekoranja
34a35c2658
fixed/bounded array introspection data serialization
2014-07-28 23:05:49 +02:00
Matej Sekoranja
63c62a2aae
Union::dump indentification fixed
2014-07-07 20:54:38 +02:00
Matej Sekoranja
c6eed12139
String -> std::string, toString methods removed
2014-06-19 14:27:48 +02:00
Matej Sekoranja
5e3159f800
completed merge
2014-06-09 23:15:57 +02:00