OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
t_typedef.h
Go to the documentation of this file.
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements. See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership. The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the
7  * "License"); you may not use this file except in compliance
8  * with the License. You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing,
13  * software distributed under the License is distributed on an
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15  * KIND, either express or implied. See the License for the
16  * specific language governing permissions and limitations
17  * under the License.
18  */
19 
20 #ifndef T_TYPEDEF_H
21 #define T_TYPEDEF_H
22 
23 #include <string>
24 #include "t_type.h"
25 
33 class t_typedef : public t_type {
34  public:
35  t_typedef(t_program* program, t_type* type, std::string symbolic) :
36  t_type(program, symbolic),
37  type_(type),
38  symbolic_(symbolic) {}
39 
41 
42  t_type* get_type() const {
43  return type_;
44  }
45 
46  const std::string& get_symbolic() const {
47  return symbolic_;
48  }
49 
50  bool is_typedef() const {
51  return true;
52  }
53 
54  virtual std::string get_fingerprint_material() const {
56  }
57 
58  virtual void generate_fingerprint() {
60  if (!type_->has_fingerprint()) {
62  }
63  }
64 
65  private:
67  std::string symbolic_;
68 };
69 
70 #endif
t_type * get_type() const
Definition: t_typedef.h:42
Definition: t_type.h:48
t_typedef(t_program *program, t_type *type, std::string symbolic)
Definition: t_typedef.h:35
bool has_fingerprint() const
Definition: t_type.h:101
virtual std::string get_fingerprint_material() const =0
virtual std::string get_fingerprint_material() const
Definition: t_typedef.h:54
uint8_t type
Definition: load_balance.h:109
t_type * type_
Definition: t_typedef.h:66
std::string symbolic_
Definition: t_typedef.h:67
virtual void generate_fingerprint()
Definition: parse.cc:13
~t_typedef()
Definition: t_typedef.h:40
const std::string & get_symbolic() const
Definition: t_typedef.h:46
virtual void generate_fingerprint()
Definition: t_typedef.h:58
bool is_typedef() const
Definition: t_typedef.h:50