activemq-cpp-3.9.5
AtomicBoolean.h
Go to the documentation of this file.
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. 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#ifndef _DECAF_UTIL_CONCURRENT_ATOMIC_ATOMICBOOLEAN_H_
19#define _DECAF_UTIL_CONCURRENT_ATOMIC_ATOMICBOOLEAN_H_
20
21#include <string>
22#include <decaf/util/Config.h>
23
24namespace decaf {
25namespace util {
26namespace concurrent {
27namespace atomic {
28
34 class DECAF_API AtomicBoolean {
35 private:
36
37 volatile int value;
38
39 private:
40
41 AtomicBoolean(const AtomicBoolean&);
42 AtomicBoolean& operator= (const AtomicBoolean&);
43
44 public:
45
50
55 AtomicBoolean(bool initialValue);
56
57 virtual ~AtomicBoolean() {}
58
63 bool get() const {
64 return value == 0 ? false : true;
65 }
66
71 void set(bool newValue) {
72 this->value = newValue ? 1 : 0;
73 }
74
84 bool compareAndSet(bool expect, bool update);
85
92 bool getAndSet(bool newValue);
93
98 std::string toString() const;
99
100 };
101
102}}}}
103
104#endif /*_DECAF_UTIL_CONCURRENT_ATOMIC_ATOMICBOOLEAN_H_*/
bool getAndSet(bool newValue)
Atomically sets to the given value and returns the previous value.
bool get() const
Gets the current value of this AtomicBoolean.
Definition AtomicBoolean.h:63
AtomicBoolean()
Creates a new AtomicBoolean whose initial value is false.
void set(bool newValue)
Unconditionally sets to the given value.
Definition AtomicBoolean.h:71
virtual ~AtomicBoolean()
Definition AtomicBoolean.h:57
std::string toString() const
Returns the String representation of the current value.
AtomicBoolean(bool initialValue)
Creates a new AtomicBoolean with the initial value.
bool compareAndSet(bool expect, bool update)
Atomically sets the value to the given updated value if the current value == the expected value.
#define DECAF_API
Definition Config.h:29
Definition AtomicBoolean.h:27
Definition AbstractExecutorService.h:28
Definition AbstractCollection.h:33
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Definition AprPool.h:25