Michael Davidsaver
fb546b41c1
rename documentation/*.h -> .dox
2018-10-18 16:43:56 -07:00
Michael Davidsaver
e400d9f5fd
Timer reschedule if earlier timer added
2018-10-18 14:44:51 -07:00
Michael Davidsaver
f0fa8a2481
deprecate pvCopy.h
2018-10-16 20:52:50 -07:00
Michael Davidsaver
c3b0b49e3f
use FieldBuilder::begin() and Field::build()
2018-10-16 20:52:38 -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
aa87a2a23d
json print/parse updates
...
These functions don't create new refs,
so they don't really need to work with shared_ptr.
Fully support printing.
Add option for maskable PVStructure printing.
2018-09-21 10:28:37 -07:00
Michael Davidsaver
5a59b1da75
Status avoid extra copies
2018-09-21 10:28:37 -07:00
Michael Davidsaver
32aa0dd72f
drop extractRequestMask()
...
superceded by PVRequestMapper
2018-09-21 10:27:43 -07:00
mdavidsaver
c1188b16a1
Merge pull request #56 from mdavidsaver/pvrequestmapper
...
add PVRequestMapper
2018-09-21 10:27:08 -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
c5f9f5a2dc
link with rt when using clock_gettime()
2018-09-19 10:49:14 -07:00
Michael Davidsaver
342b1bc8ef
add PVRequestMapper
...
utility to having pvRequest .field mangling
Warn if requesting some non-existant fields.
Error if no requested fields exist.
PVRequestMapper mode enum to select between
two "styles" of interpretation.
2018-09-17 09:11:28 -07:00
Michael Davidsaver
64158376f5
PVStructure inline access to member variables
2018-07-31 16:55:15 -07:00
Michael Davidsaver
850d4ff056
PVField::copyUnchecked assert()
...
Field comparison is now O(0), so do this anyway
to help catch mistakes.
2018-07-31 16:55:15 -07:00
Michael Davidsaver
f0cfe1c85a
PVField::copy() avoid duplication with copyUnchecked()
2018-07-31 16:55:15 -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
c67fdafb43
add pvRequest -> bitmask processing
2018-07-14 15:10:46 -07:00
Michael Davidsaver
f66d277918
msvc 9 compat
2018-07-12 19:05:12 -07:00
Michael Davidsaver
4ef7db20f8
sharePtr.h: adjust apply/llvm compatibility
2018-07-12 15:38:49 -07:00
Michael Davidsaver
e1216dfa76
move PVValueArray dtor out of line
...
This class has out of line members, and explicit
instanciations. Move the dtor out of line as
well to maybe avoid emitting duplicate
typeinfo.
2018-07-12 15:38:49 -07:00
Michael Davidsaver
340fa8a7cb
Thread accept non-copyable std::function
2018-07-11 16:30:05 -07:00
Michael Davidsaver
a029455466
Thread reftrack
2018-07-11 16:30:04 -07:00
Michael Davidsaver
27f78c430b
move Thread out of line
2018-07-11 16:29:50 -07:00
Michael Davidsaver
3d707e5e95
Field de-duplication performance test
2018-07-06 12:01:15 -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
a1c0e432ee
fix Timer
...
use after free
2018-06-19 16:32:39 -07:00
Michael Davidsaver
57e57d9e43
de-virtualize PVValueArray<T> methods append(), remove(), and compress()
...
These were never members of a common base class,
nor overridden by a sub-class.
2018-06-07 09:53:38 -07:00
Michael Davidsaver
e4e4188eaf
some more FINAL
2018-06-07 09:53:38 -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
997e68c99a
remove usage of min()/max() from public headers
...
Avoids need for #define NOMINMAX w/ MSVC
2018-05-28 10:14:03 -07:00
Michael Davidsaver
25663d9a7b
additional EPICS_NOT_COPYABLE
...
attempt to pacify, or at least clarify, msvc
link error.
2018-05-21 21:02:32 -07:00
Michael Davidsaver
1e55266396
pvUnitTest.h avoid unintended copies
...
template argument matching doesn't always preserve
rvalue references, so force use of const ref.
2018-05-21 11:21:01 -07:00
Michael Davidsaver
810ae15991
printer.cpp avoid alloc of spaces
...
No need to allocate a std::string
just to repeat spaces.
2018-05-21 11:21:01 -07:00
Michael Davidsaver
271fec7f5e
printer.cpp: clean whitespace
2018-05-21 11:21:01 -07:00
Michael Davidsaver
c43486791e
prevent Field/PVField from being copied
...
I don't think this was ever intended to be possible,
but it was...
2018-05-21 11:19:42 -07:00
Michael Davidsaver
499c03265f
update release notes
7.1.0-pre1
2018-04-24 13:30:15 -07:00
Michael Davidsaver
7eaa613d4d
try to fix dllimport error
2018-04-17 21:13:22 -07:00
Michael Davidsaver
19db72031c
shared_vector add missing void swap
...
swap() of void and const void misses vtype
2018-04-13 12:40:22 -07:00
Michael Davidsaver
671f9cca4b
anyscalar.h: move out of line
...
No reason to believe that inline was helping.
2018-04-08 15:53:21 -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
a7c9c620dd
Timer avoid deadlock in timerStopped()
...
No code actually uses this hook, but lets make
sure nothing bad would happen.
2018-04-08 15:53:21 -07:00
Michael Davidsaver
1e1d94ed73
rework Timer
...
I'm not sure how I broke it, but I know I don't have the patience
to fix it. So replacing intrusive list and custom sorting with
std::list and std::list::merge().
2018-04-04 21:03:11 -07:00
Michael Davidsaver
7b8ef390ce
add Timer::close()
...
An aid to orderly shutdown
2018-04-02 15:54:48 -07:00
Michael Davidsaver
87ade13234
Timer cleanup and hide run()
2018-04-02 15:54:48 -07:00
Michael Davidsaver
32abde7f19
redo Timer to avoid data race
...
run() was accessing this->head w/o locking
2018-04-02 10:54:49 -07:00
Michael Davidsaver
fe413af177
timerTest: redo to avoid time related false positives
2018-04-02 09:34:15 -07:00
Michael Davidsaver
b4cd026fe5
byteBuffer cleanup
2018-03-23 10:05:31 -07:00
Michael Davidsaver
a51b308cc8
ByteBuffer avoid PPC alignment fault
2018-03-19 15:26:40 -07:00