Geant4 10.7.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
TaskAllocatorList.hh
Go to the documentation of this file.
1//
2// MIT License
3// Copyright (c) 2020 Jonathan R. Madsen
4// Permission is hereby granted, free of charge, to any person obtaining a copy
5// of this software and associated documentation files (the "Software"), to deal
6// in the Software without restriction, including without limitation the rights
7// to use, copy, modify, merge, publish, distribute, sublicense, and
8// copies of the Software, and to permit persons to whom the Software is
9// furnished to do so, subject to the following conditions:
10// The above copyright notice and this permission notice shall be included in
11// all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED
12// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
13// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
15// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
16// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
17// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18//
19// ------------------------------------------------------------
20// Tasking class header file
21//
22// Class Description:
23//
24// A class to store all TaskAllocator objects in a thread for the sake
25// of cleanly deleting them.
26//
27// ------------------------------------------------------------
28
29#pragma once
30
31#include "PTL/Globals.hh"
32#include <vector>
33
34namespace PTL
35{
36class TaskAllocatorBase;
37
39{
40public: // with description
43
44public:
47 void Destroy(int nStat = 0, int verboseLevel = 0);
48 int Size() const;
49
50private:
52
53private:
54 static TaskAllocatorList*& fAllocatorList();
55 std::vector<TaskAllocatorBase*> fList;
56};
57
58} // namespace PTL
static TaskAllocatorList * GetAllocatorListIfExist()
void Destroy(int nStat=0, int verboseLevel=0)
void Register(TaskAllocatorBase *)
static TaskAllocatorList * GetAllocatorList()
Definition: AutoLock.hh:254