Program Listing for File context.hpp

Return to documentation for file (foxglove/include/foxglove/context.hpp)

#pragma once

#include <cstdint>
#include <memory>
#include <optional>
#include <string>

struct foxglove_context;

namespace foxglove {

class Context final {
public:
  Context() = default;

  static Context create();

  [[nodiscard]] const foxglove_context* getInner() const noexcept {
    return impl_.get();
  }
private:
  explicit Context(const foxglove_context* context);

  std::shared_ptr<const foxglove_context> impl_;
};

}  // namespace foxglove