proxygen
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
SingletonTestStructs.cpp
Go to the documentation of this file.
1
/*
2
* Copyright 2016-present Facebook, Inc.
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
17
#include <
folly/test/SingletonTestStructs.h
>
18
19
#include <atomic>
20
21
namespace
{
22
// A simple class that tracks how often instances of the class and
23
// subclasses are created, and the ordering. Also tracks a global
24
// unique counter for each object.
25
std::atomic<size_t>
global_counter
(19770326);
26
}
// namespace
27
28
std::vector<Watchdog*>&
Watchdog::creation_order
() {
29
static
std::vector<Watchdog*> ret;
30
return
ret;
31
}
32
33
Watchdog::Watchdog
() :
serial_number
(++
global_counter
) {
34
creation_order
().push_back(
this
);
35
}
Watchdog::serial_number
const size_t serial_number
Definition:
SingletonTestStructs.h:38
Watchdog::Watchdog
Watchdog()
Definition:
SingletonTestStructs.cpp:33
Watchdog::creation_order
static std::vector< Watchdog * > & creation_order()
Definition:
SingletonTestStructs.cpp:28
SingletonTestStructs.h
global_counter
Definition:
ArenaSmartPtrTest.cpp:27
proxygen
folly
folly
test
SingletonTestStructs.cpp
Generated by
1.8.11