4#include "Stroika/Frameworks/StroikaPreComp.h"
8using namespace Stroika::Frameworks;
9using namespace Stroika::Frameworks::SystemPerformance;
20 : context{[qStroika_Foundation_Common_Property_ExtraCaptureStuff] ([[maybe_unused]] const auto* property) {
23 return thisObj->fCaptureRep_->GetContext ();
25 [qStroika_Foundation_Common_Property_ExtraCaptureStuff] ([[maybe_unused]]
auto* property,
const auto& context) {
28 thisObj->fCaptureRep_->SetContext (context);
30 , instrumentName{[qStroika_Foundation_Common_Property_ExtraCaptureStuff] ([[maybe_unused]]
const auto* property) {
33 return thisObj->fInstrumentName_;
35 , capturedMeasurementTypes{[qStroika_Foundation_Common_Property_ExtraCaptureStuff] ([[maybe_unused]]
const auto* property) {
38 return thisObj->fCapturedMeasurementTypes_;
40 , objectVariantMapper{[qStroika_Foundation_Common_Property_ExtraCaptureStuff] ([[maybe_unused]]
const auto* property) {
43 return thisObj->fObjectVariantMapper_;
45 , type2MeasurementTypes{[qStroika_Foundation_Common_Property_ExtraCaptureStuff] ([[maybe_unused]]
const auto* property) {
48 return thisObj->fType2MeasurementTypes_;
50 , fInstrumentName_{instrumentName}
51 , fType2MeasurementTypes_{typeToMeasurementTypeMap}
52 , fCapturedMeasurementTypes_{capturedMeasurements}
53 , fObjectVariantMapper_{objectVariantMapper}
54 , fCaptureRep_{move (capturer)}
62 fInstrumentName_ = move (rhs.fInstrumentName_);
63 fCaptureRep_ = move (rhs.fCaptureRep_);
64 fType2MeasurementTypes_ = move (rhs.fType2MeasurementTypes_);
65 fCapturedMeasurementTypes_ = move (rhs.fCapturedMeasurementTypes_);
66 fObjectVariantMapper_ = move (rhs.fObjectVariantMapper_);
72 AssertExternallySynchronizedChecker::WriteContext declareContext{fThisAssertExternallySynchronized_};
73 AssertExternallySynchronizedChecker::ReadContext readLock{rhs.fThisAssertExternallySynchronized_};
74 fInstrumentName_ = rhs.fInstrumentName_;
75 fCaptureRep_ = rhs.fCaptureRep_->Clone ();
76 fType2MeasurementTypes_ = rhs.fType2MeasurementTypes_;
77 fCapturedMeasurementTypes_ = rhs.fCapturedMeasurementTypes_;
78 fObjectVariantMapper_ = rhs.fObjectVariantMapper_;
A Mapping uniquely associates two elements: a key and a value (use Assocation to allow multiple value...
Set<T> is a container of T, where once an item is added, additionally adds () do nothing.
An Atom is like a String, except that its much cheaper to copy/store/compare, and the semantics of co...
ObjectVariantMapper can be used to map C++ types to and from variant-union types, which can be transp...
NOT a real mutex - just a debugging infrastructure support tool so in debug builds can be assured thr...
unique_lock< AssertExternallySynchronizedChecker > WriteContext
Instantiate AssertExternallySynchronizedChecker::WriteContext to designate an area of code where prot...
shared_lock< const AssertExternallySynchronizedChecker > ReadContext
Instantiate AssertExternallySynchronizedChecker::ReadContext to designate an area of code where prote...