CodeSonar C++ API
[For improved navigation, enable JavaScript.]
cs_symbol_set_decl.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2023, an unpublished work by CodeSecure, Inc.
3  * ALL RIGHTS RESERVED
4  *
5  * Copyright (c) 2013-2023, an unpublished work by GrammaTech, Inc.
6  * ALL RIGHTS RESERVED
7  *
8  * This software is furnished under a license and may be used and
9  * copied only in accordance with the terms of such license and the
10  * inclusion of the above copyright notice. This software or any
11  * other copies thereof may not be provided or otherwise made
12  * available to any other person. Title to and ownership of the
13  * software is retained by CodeSecure, Inc.
14  */
15 
16 #ifndef CS_SYMBOL_SET_DECL_HPP
17 #define CS_SYMBOL_SET_DECL_HPP
18 
19 #include "cs_set.hpp"
20 #include "cs_symbol_set_fwd.hpp"
21 #include "cs_symbol_fwd.hpp"
22 #include "cs_types.hpp"
23 
24 #define CS_SET_IMPL_ID(name) cs_abs_loc_ ## name
25 #define CS_SET_IMPL_KEY symbol
26 #define CS_SET_IMPL_MUTABLE 2
27 #include "cs_set_impl.hpp"
28 
31 namespace cs{
32 
47  template<> class set_mixin<mutable_set<symbol> >
48  {
49  cs_abs_loc_set unwrap() const
50  { return cglue<symbol_set>::unwrap(*static_cast<const symbol_set*>(this)); }
51  protected:
52  set_mixin(){}
53  public:
54 
70  point_set used_points() const;
89  point_set killed_points() const;
109  point_set cond_killed_points() const;
129  point_set may_killed_points() const;
132  };
133 }
134 
135 #endif /* CS_SYMBOL_SET_DECL_HPP */
Namespace for CodeSonar/CodeSurfer API.
Definition: cs_ast.hpp:33