// Copyright 2024 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef TESTING_LIBFUZZER_RESEARCH_DOMATOLPM_DOMATOLPM_H_ #define TESTING_LIBFUZZER_RESEARCH_DOMATOLPM_DOMATOLPM_H_ #include <string> #include <string_view> #include <unordered_map> #include <unordered_set> #include "base/strings/string_number_conversions.h" namespace domatolpm { // SampleBuilder is used by the internal runtime DomatoLPM generated code to // build the current sample. // This is a very dumb interface, but allows for modularity and extensibility // without changing the generated code. class SampleBuilder { … }; // TextSampleBuilder builds a sample into a string. class TextSampleBuilder : public SampleBuilder { … }; // Context is used by the internal runtime DomatoLPM generated code to interact // with the current context. It is used to retrieve the current sample builder // and interact with existing variables. class Context { … }; } // namespace domatolpm #endif // TESTING_LIBFUZZER_RESEARCH_DOMATOLPM_DOMATOLPM_H_