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 AssertExternallySynchronizedMutex::WriteContext declareContext{fThisAssertExternallySynchronized_};
73 AssertExternallySynchronizedMutex::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_;
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...
shared_lock< const AssertExternallySynchronizedMutex > ReadContext
Instantiate AssertExternallySynchronizedMutex::ReadContext to designate an area of code where protect...
unique_lock< AssertExternallySynchronizedMutex > WriteContext
Instantiate AssertExternallySynchronizedMutex::WriteContext to designate an area of code where protec...