Blink roll 25b6bd3a7a131ffe68d809546ad1a20707915cdc:3a503f41ae42e5b79cfcd2ff10e65afde...
[chromium-blink-merge.git] / sandbox / linux / bpf_dsl / bpf_dsl_forward.h
blob183038990a8be40bfb1b9a8477e79fa8bec30115
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef SANDBOX_LINUX_BPF_DSL_BPF_DSL_FORWARD_H_
6 #define SANDBOX_LINUX_BPF_DSL_BPF_DSL_FORWARD_H_
8 #include "base/memory/ref_counted.h"
9 #include "sandbox/sandbox_export.h"
11 namespace sandbox {
12 namespace bpf_dsl {
14 // The bpf_dsl_forward.h header provides forward declarations for the
15 // types defined in bpf_dsl.h. It's intended for use in user headers
16 // that need to reference bpf_dsl types, but don't require definitions.
18 namespace internal {
19 class ResultExprImpl;
20 class BoolExprImpl;
23 typedef scoped_refptr<const internal::ResultExprImpl> ResultExpr;
24 typedef scoped_refptr<const internal::BoolExprImpl> BoolExpr;
26 template <typename T>
27 class Arg;
29 class Elser;
31 template <typename T>
32 class Caser;
34 } // namespace bpf_dsl
35 } // namespace sandbox
37 extern template class SANDBOX_EXPORT
38 scoped_refptr<const sandbox::bpf_dsl::internal::BoolExprImpl>;
39 extern template class SANDBOX_EXPORT
40 scoped_refptr<const sandbox::bpf_dsl::internal::ResultExprImpl>;
42 #endif // SANDBOX_LINUX_BPF_DSL_BPF_DSL_FORWARD_H_