ProteoWizard
Once.hpp
Go to the documentation of this file.
1//
2// $Id$
3//
4//
5// Original author: Matt Chambers <matt.chambers .@. vanderbilt.edu>
6//
7// Copyright 2010 Vanderbilt University - Nashville, TN 37232
8//
9// Licensed under the Apache License, Version 2.0 (the "License");
10// you may not use this file except in compliance with the License.
11// You may obtain a copy of the License at
12//
13// http://www.apache.org/licenses/LICENSE-2.0
14//
15// Unless required by applicable law or agreed to in writing, software
16// distributed under the License is distributed on an "AS IS" BASIS,
17// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18// See the License for the specific language governing permissions and
19// limitations under the License.
20//
21
22#ifndef _ONCE_HPP_
23#define _ONCE_HPP_
24
25#include <boost/thread/once.hpp>
26
27
28namespace pwiz {
29namespace util {
30
31
32// since the call_once implementation may be defined as an aggregate,
33// this proxy class can be used for initializing per-instance once_flags
35{
36 boost::once_flag flag;
37};
38
39/// this proxy class can be used for initializing per-instance once_flag_proxy(s)
40static once_flag_proxy init_once_flag_proxy = {BOOST_ONCE_INIT};
41
42
43} // namespace util
44} // namespace pwiz
45
46#endif // _ONCE_HPP_
static once_flag_proxy init_once_flag_proxy
this proxy class can be used for initializing per-instance once_flag_proxy(s)
Definition Once.hpp:40
boost::once_flag flag
Definition Once.hpp:36