blob: b3adf1f0fb02785433fa556f53645c21f97cbb5c [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#pragma once
#include <memory>
#include <string>
namespace examples {
namespace fuzzing {
// A Foo doohicky
struct Foo {
int bar_;
Foo(int bar) : bar_(bar) {}
~Foo() {}
};
// A Baz thingamajig
class Baz {
public:
Baz() : foo_(nullptr), bar_(nullptr) {}
~Baz() {}
int Execute(const std::string &commands);
private:
void SetFoo(std::unique_ptr<Foo> foo);
void SetBar(int bar);
std::unique_ptr<Foo> foo_;
int *bar_; // Cache bar_ for faster access
};
} // namespace fuzzing
} // namespace examples