Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
symbols-util.h
Go to the documentation of this file.
1 // Copyright 2012 Cloudera Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef IMPALA_UTIL_SYMBOLS_UTIL_H
16 #define IMPALA_UTIL_SYMBOLS_UTIL_H
17 
18 #include <string>
19 #include "runtime/types.h"
20 
21 namespace impala {
22 
24 class SymbolsUtil {
25  public:
27  static bool IsMangled(const std::string& symbol);
28 
32  static std::string Demangle(const std::string& name);
33 
37  static std::string DemangleNameOnly(const std::string& symbol);
38 
49  static std::string MangleUserFunction(const std::string& fn_name,
50  const std::vector<ColumnType>& arg_types, bool has_var_args = false,
51  ColumnType* ret_argument = NULL);
52 
55  static std::string ManglePrepareOrCloseFunction(const std::string& fn_name);
56 };
57 
58 }
59 
60 #endif
static std::string ManglePrepareOrCloseFunction(const std::string &fn_name)
static bool IsMangled(const std::string &symbol)
Returns true if this symbol is mangled.
Definition: symbols-util.cc:53
Utility class to manipulate c++/IR symbols, mangling and demangling names.
Definition: symbols-util.h:24
static std::string Demangle(const std::string &name)
Definition: symbols-util.cc:57
static std::string MangleUserFunction(const std::string &fn_name, const std::vector< ColumnType > &arg_types, bool has_var_args=false, ColumnType *ret_argument=NULL)
string name
Definition: cpu-info.cc:50
static std::string DemangleNameOnly(const std::string &symbol)
Definition: symbols-util.cc:66