Home | History | Annotate | Download | only in bpf_dsl
      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.
      4 
      5 #ifndef SANDBOX_LINUX_BPF_DSL_BPF_DSL_FORWARD_H_
      6 #define SANDBOX_LINUX_BPF_DSL_BPF_DSL_FORWARD_H_
      7 
      8 #include "base/memory/ref_counted.h"
      9 #include "sandbox/sandbox_export.h"
     10 
     11 namespace sandbox {
     12 namespace bpf_dsl {
     13 
     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.
     17 
     18 namespace internal {
     19 class ResultExprImpl;
     20 class BoolExprImpl;
     21 }
     22 
     23 typedef scoped_refptr<const internal::ResultExprImpl> ResultExpr;
     24 typedef scoped_refptr<const internal::BoolExprImpl> BoolExpr;
     25 
     26 template <typename T>
     27 class Arg;
     28 
     29 class Elser;
     30 
     31 template <typename T>
     32 class Caser;
     33 
     34 }  // namespace bpf_dsl
     35 }  // namespace sandbox
     36 
     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>;
     41 
     42 #endif  // SANDBOX_LINUX_BPF_DSL_BPF_DSL_FORWARD_H_
     43