Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  SpanEvent.h

  Sprache: C
 

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at https://mozilla.org/MPL/2.0/. */


#ifndef GECKO_TRACE_SPAN_EVENT_H
#define GECKO_TRACE_SPAN_EVENT_H

#include "nsVariant.h"

namespace mozilla::gecko_trace {

using string_view = std::string_view;

using AttributeValue =
    Variant<bool, int64_t, string_view, mozilla::Span<const bool>,
            mozilla::Span<const int64_t>, mozilla::Span<const string_view>>;

// Note: Consider adding a mechanism to prevent manual implementation of
// this interface for types.
class SpanEvent {
 public:
  virtual ~SpanEvent() = default;

  /**
   * Iterate overall key-value pairs in this event.
   *
   * Calls the provided callback function for each attribute set in this event
   * instance. The iteration includes attributes from parent classes if this
   * event inherits from other events.
   *
   * @param `aCallback` Function to call for each key-value pair.
   *                  Should return true to continue iteration, false to stop.
   * @return true if all callbacks returned true, false if any returned false
   */

  virtual bool ForEachKeyValue(
      std::function<bool(string_view, AttributeValue)> aCallback) const = 0;

  /**
   * Get the name identifier for this trace event.
   *
   * Returns the string identifier used to categorize and filter this event
   * type in trace collection and analysis tools.
   *
   * @return String view containing the event name
   */

  virtual string_view GetEventName() const = 0;

  /**
   * Get the total number of attributes this event can contain.
   *
   * Returns the count of all possible attributes, including those inherited
   * from parent event classes.
   *
   * @return Total attribute count
   */

  virtual size_t Size() const = 0;

#ifdef GECKO_TRACE_ENABLE
  void Emit();
#else
  constexpr void Emit() {};
#endif
};

}  // namespace mozilla::gecko_trace

#endif  // GECKO_TRACE_SPAN_EVENT_H

Messung V0.5 in Prozent
C=96 H=89 G=92

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=277311
#Domains=752002