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
9ecdb80534
anyscalar.h: remove unnecesary vcast
...
what was I thinking...
2018-04-08 15:53:21 -07:00
Michael Davidsaver
e973422ee1
anyscalar.h: add ctor from type code and void*
...
also helper bufferUnsafe() to get storage pointer
or c_str().
2018-04-08 15:53:21 -07:00
Michael Davidsaver
8093c25b72
typeCast.h: allow cast from C string to numeric w/o copy
...
also re-enable compile test of string to int64 which
was disabled for some reason...
2018-04-08 15:53:21 -07:00
Michael Davidsaver
fe413af177
timerTest: redo to avoid time related false positives
2018-04-02 09:34:15 -07:00
Michael Davidsaver
06dbf96b65
missing test count
2018-03-12 09:11:44 -07:00
Michael Davidsaver
cd3ead0028
testThread drop dead code
2018-01-05 11:14:59 -08:00
Michael Davidsaver
a239b95ca1
remove previously deprecated executor.h, queue.h and timerFunction.h
2018-01-05 11:14:59 -08:00
Michael Davidsaver
09574c0e82
sharedVector more c++11
...
support std::move() and construct
from initializer list.
2018-01-05 11:14:59 -08:00
Michael Davidsaver
cb7e4e858b
clear some warnings
2018-01-04 11:52:19 -08:00
Michael Davidsaver
c590204cf9
add epics::auto_ptr<T> and epics::swap()
...
Avoid the flood of auto_ptr deprecation warnings
in the common cases of using auto_ptr
to automatically delete.
2017-11-06 12:30:40 -06:00
Michael Davidsaver
284e49c807
add EPICS_NOT_COPYABLE()
...
More localize (my preference), and avoids
warning spam with windows builds.
2017-11-06 11:29:59 -06:00
Michael Davidsaver
51cbe538e8
handle yajl 2.1.0 API changes
2017-10-31 19:34:30 -05:00
Michael Davidsaver
0d12464e30
add AnyScalar
2017-09-29 17:22:43 -05:00
Michael Davidsaver
111f7bd15e
parseJSON() track modified fields
2017-09-07 11:53:54 -05:00
Michael Davidsaver
787af8de18
BitSet building convenience
...
Allow set()/clear()/flip() to be chained.
Support c++11 initializer lists.
2017-09-07 11:49:07 -05:00
Michael Davidsaver
db6ebfe71b
parseJSON() assign union with scalar value
2017-09-06 18:34:00 -05:00
Michael Davidsaver
34896560ea
add reftrack.h
...
Add global Reference Counter tracker
2017-08-30 11:11:47 -05:00
Michael Davidsaver
87fa150ced
3.14 compat
2017-07-13 19:14:52 +02:00
Michael Davidsaver
4cfdb8233f
more import/export
2017-07-13 18:49:32 +02:00
Michael Davidsaver
ee4fdf3f39
json print/parse from/to PVStructure
2017-07-13 18:02:10 +02:00
Michael Davidsaver
a8c5d1095d
remove MessageQueue
2017-07-12 13:07:36 +02:00
Michael Davidsaver
0de3c089d2
testByteBuffer always test both byte orders
2017-07-07 11:21:00 +02:00
Michael Davidsaver
919bc0138a
add pvUnitTest.h
2017-07-06 17:05:30 +02:00
Michael Davidsaver
568ee1fa85
add debugPtr.h to troubleshoot shared_ptr problems
...
A wrapper around shared_ptr which tracks backwards references
to help untangle complicated ownership situations (aka. ref loop
waiting to happen).
2017-06-26 15:59:45 +02:00
Michael Davidsaver
66633a7728
test cleanup
...
remove compile time "debug" flag from from tests.
use testDiag() instead
2017-06-26 15:16:43 +02:00
Michael Davidsaver
c5ce75888e
Merge remote-tracking branch 'md/overhaulbytebuf'
...
* md/overhaulbytebuf:
overhaul byteBuffer implementation
2017-05-10 15:36:49 -04:00
Michael Davidsaver
a3c57a5077
bitSet: add logical_and()/_or()
...
Basic logical operations for tests
where a temporary can be avoided.
2017-04-15 16:19:15 -04:00
Michael Davidsaver
a9111d78d3
overhaul byteBuffer implementation
...
align(n) now fills skipped bytes with '\0'.
align(n,f) to choose a different fill value.
No other changes intended
Use intrinsic byte order swapping builtins for gcc, clang, and msvc.
use assert() to check pre/post conditions.
Remove unused condition macros and unreachable code.
Add tests of byte swapping primitives and
test the correctness of unaligned operations.
add illustrations of flip() and rewind()
2017-04-07 15:09:47 -04:00
Dave Hickin
cc91e22038
testThread: Namespace qualify Thread
...
Fixes build error with latest RTEMS (Thread ambiguous).
2016-09-16 21:22:33 +01:00
Michael Davidsaver
da8ba56dd1
testTypeCast: mangle values to be printable
...
print (u)int8 as integer instead of character
2016-09-07 15:29:58 -04:00
Michael Davidsaver
4d6d5620b0
Revert "testTypeCast: Escape non-printing characters"
...
This reverts commit f7cad98f3e .
2016-09-07 15:28:48 -04:00
Dave Hickin
f7cad98f3e
testTypeCast: Escape non-printing characters
2016-09-07 14:40:16 +01:00
Dave Hickin
d9072402db
Update source boilerplate for new LICENSE file
2016-07-22 15:56:43 +01:00
Andrew Johnson
2ee8769752
Prevent redefinition of NOMINMAX
...
While this protection is not strictly necessary here, if someone
does a cut-and-paste into a header file it should be included.
2016-04-06 15:29:30 -05:00
dhickin
bd4b65225c
Merge pull request #28 from mdavidsaver/overhaulbitset
...
bitSet: macros and vector storage
2016-03-17 14:20:20 +00:00
Matej Sekoranja
ae7976fc01
Merge remote-tracking branch 'epics-base/master'
2016-03-06 21:33:43 +01:00
Matej Sekoranja
72f9dc4c7c
win32 compilation fix
2016-03-06 21:29:04 +01:00
Michael Davidsaver
b0df40d9a6
testSharedVector more PG locals
2016-03-01 13:25:20 -05:00
Michael Davidsaver
a8ba831f5e
fix freeze() of shared_vector<void>
2016-02-26 12:13:23 -05:00
Michael Davidsaver
4546fda8e9
note shared_vector casts which should fail
2016-02-26 12:13:23 -05:00
Michael Davidsaver
dc94b26e50
fix static_shared_vector_cast<>() no-op casting
...
Turns out that Enablers as typically used for
member functions don't work to select
constructors.
Move this selection logic to
struct detail::static_shared_vector_caster<>
to correctly allow no-op casts (eg. void to void).
Previously this would not compile.
Allows PVScalarArray getAs() and putFrom() using
shared_vector<const void>.
2016-02-26 12:13:23 -05:00
Michael Davidsaver
4c32f37ede
bitSet: macros and vector storage
...
use std::vector<uint64> to manage storage.
Make some global variable "constants" into macros.
add swap()
2016-02-18 18:39:32 -05:00
Dave Hickin
faecea39c8
Merge branch 'master' of github.com:msekoranja/pvDataCPP
2016-02-18 15:35:36 +00:00
Michael Davidsaver
d08d5362be
testBitSet: forgot to update test count
2016-02-17 10:53:32 -05:00
Michael Davidsaver
d4292d81f2
BitSet: truncation in or_and
...
For "this |= set1 & set2" the result size
should be "max(this, min(set1, set2))" while
at present it is "min(set1, set2)" resulting
in truncation if the LHS is longer than the
RHS.
2016-02-17 10:17:21 -05:00
Michael Davidsaver
62893e33e9
testBitSet: demo bug in BitSet::or_and
...
Incorrect handling of wordsInUse truncates if
RHS (b1 & b2) is shorter than LHS (b3).
2016-02-17 10:17:16 -05:00
Michael Davidsaver
5b07ecbd01
testBitSet more diag output
2016-02-17 10:17:04 -05:00
Matej Sekoranja
65ff7ab1c3
fixed bitSet serialization
2016-02-12 19:35:44 +01:00