A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
VTableMapConstructor.cc
Go to the documentation of this file.
1 /*****************************************************************************
2  * *
3  * Copyright 2018 Rice University *
4  * *
5  * Licensed under the Apache License, Version 2.0 (the "License"); *
6  * you may not use this file except in compliance with the License. *
7  * You may obtain a copy of the License at *
8  * *
9  * http://www.apache.org/licenses/LICENSE-2.0 *
10  * *
11  * Unless required by applicable law or agreed to in writing, software *
12  * distributed under the License is distributed on an "AS IS" BASIS, *
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
14  * See the License for the specific language governing permissions and *
15  * limitations under the License. *
16  * *
17  *****************************************************************************/
18 
19 #ifndef PDBCATALOG_VTABLEMAP_CONST_C_
20 #define PDBCATALOG_VTABLEMAP_CONST_C_
21 
22 /*
23  * VTableMap.cc
24  *
25  */
26 
27 // This header is auto-generated by SConstruct... it includes all of the header files
28 // in BuiltInPDBObjects/headers
29 #include "BuiltinPDBObjects.h"
30 #include "PDBDebug.h"
32 #include "VTableMap.cc"
33 
34 #include <dlfcn.h>
35 #include <unistd.h>
36 #include <cctype>
37 #include <iostream>
38 
39 namespace pdb {
40 
42  logger = std::make_shared<PDBLogger>("vtablemap.log");
43  catalog = nullptr;
44  stringstream ss;
45  ss << &(myLock);
46  PDB_COUT << "to initialize lock at " << ss.str() << std::endl;
47  pthread_mutex_init(&(myLock), nullptr);
48  for (unsigned int i = 0; i < 16384; i++) {
49  allVTables.push_back(nullptr);
50  }
51 
52 // this will add a type identifier for each one of the built-in types
53 // (building the map from type name to ID) and then after that, it
54 // is going to create an instance of each of the types, and extract
55 // the v-table pointer from it, adding that to the allVTables vector
56 #include "BuiltinPDBObjects.cc"
57 }
58 
59 // the global variables all live here!!
60 #include "GlobalVariables.cc"
61 } /* namespace pdb */
62 
63 
64 #endif
std::vector< void * > allVTables
Definition: VTableMap.h:99
PDBLoggerPtr logger
Definition: VTableMap.h:105
CatalogClient * catalog
Definition: VTableMap.h:102
#define PDB_COUT
Definition: PDBDebug.h:31
pthread_mutex_t myLock
Definition: VTableMap.h:108