// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef SANDBOX_LINUX_BPF_DSL_BPF_DSL_FORWARD_H_ #define SANDBOX_LINUX_BPF_DSL_BPF_DSL_FORWARD_H_ #include "base/memory/ref_counted.h" #include "sandbox/sandbox_export.h" namespace sandbox { namespace bpf_dsl { // The bpf_dsl_forward.h header provides forward declarations for the // types defined in bpf_dsl.h. It's intended for use in user headers // that need to reference bpf_dsl types, but don't require definitions. namespace internal { class ResultExprImpl; class BoolExprImpl; } typedef scoped_refptr<const internal::ResultExprImpl> ResultExpr; typedef scoped_refptr<const internal::BoolExprImpl> BoolExpr; template <typename T> class Arg; class Elser; template <typename T> class Caser; } // namespace bpf_dsl } // namespace sandbox extern template class SANDBOX_EXPORT scoped_refptr<const sandbox::bpf_dsl::internal::BoolExprImpl>; extern template class SANDBOX_EXPORT scoped_refptr<const sandbox::bpf_dsl::internal::ResultExprImpl>; #endif // SANDBOX_LINUX_BPF_DSL_BPF_DSL_FORWARD_H_