Apache Singa
A General Distributed Deep Learning Library
include
singa
utils
singleton.h
1
/************************************************************
2
*
3
* Licensed to the Apache Software Foundation (ASF) under one
4
* or more contributor license agreements. See the NOTICE file
5
* distributed with this work for additional information
6
* regarding copyright ownership. The ASF licenses this file
7
* to you under the Apache License, Version 2.0 (the
8
* "License"); you may not use this file except in compliance
9
* with the License. You may obtain a copy of the License at
10
*
11
* http://www.apache.org/licenses/LICENSE-2.0
12
*
13
* Unless required by applicable law or agreed to in writing,
14
* software distributed under the License is distributed on an
15
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
* KIND, either express or implied. See the License for the
17
* specific language governing permissions and limitations
18
* under the License.
19
*
20
*************************************************************/
21
22
#ifndef SINGA_UTILS_SINGLETON_H_
23
#define SINGA_UTILS_SINGLETON_H_
24
26
// http://stackoverflow.com/questions/2576022/efficient-thread-safe-singleton-in-c
27
template
<
typename
T>
28
class
Singleton
{
29
public
:
30
static
T* Instance() {
31
static
T data_;
32
return
&data_;
33
}
34
};
35
38
/*
39
template<typename T>
40
class TSingleton {
41
public:
42
static T* Instance() {
43
static thread_local T data_; // thread_local is not available in some
44
// compilers
45
return &data_;
46
}
47
};
48
*/
49
50
#endif // SINGA_UTILS_SINGLETON_H_
Singleton
Thread-safe implementation for C++11 according to.
Definition:
singleton.h:28
Generated on Mon Apr 22 2019 12:27:05 for Apache Singa by
1.8.13