Knight's Tour Generator
Tourneys and the Fast Generation and Obfuscation of Closed Knight's Tours
Code
ThreadSafeQueue.h
Go to the documentation of this file.
1
4
// MIT License
5
//
6
// Copyright (c) 2019 Ian Parberry
7
//
8
// Permission is hereby granted, free of charge, to any person obtaining a copy
9
// of this software and associated documentation files (the "Software"), to
10
// deal in the Software without restriction, including without limitation the
11
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
12
// sell copies of the Software, and to permit persons to whom the Software is
13
// furnished to do so, subject to the following conditions:
14
//
15
// The above copyright notice and this permission notice shall be included in
16
// all copies or substantial portions of the Software.
17
//
18
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
24
// IN THE SOFTWARE.
25
26
#ifndef __ThreadSafeQueue__
27
#define __ThreadSafeQueue__
28
29
#include "
Includes.h
"
30
36
37
template
<
class
data>
class
CThreadSafeQueue
{
38
private
:
39
std::queue<data>
m_stdQueue
;
40
std::mutex
m_mutex
;
41
42
public
:
43
void
push
(
const
data& element);
44
bool
pop
(data& element);
45
size_t
size
();
46
};
//CThreadSafeQueue
47
48
#endif
49
Includes.h
Useful includes.
CThreadSafeQueue::push
void push(const data &element)
Insert at tail.
Definition:
ThreadSafeQueue.cpp:32
CThreadSafeQueue::m_stdQueue
std::queue< data > m_stdQueue
Queue contents.
Definition:
ThreadSafeQueue.h:39
CThreadSafeQueue::size
size_t size()
Get queue size.
Definition:
ThreadSafeQueue.cpp:59
CThreadSafeQueue::pop
bool pop(data &element)
Delete from head and return.
Definition:
ThreadSafeQueue.cpp:42
CThreadSafeQueue
Thread safe queue.
Definition:
ThreadSafeQueue.h:37
CThreadSafeQueue::m_mutex
std::mutex m_mutex
Mutex for thread safety.
Definition:
ThreadSafeQueue.h:40
Generated on Tue Jan 21 2020 18:08:25 for Knight's Tour Generator by
1.8.15