std::call_once

From Cppreference

Jump to: navigation, search
Defined in header <mutex>

template< class Function, class... Args>
void call_once( std::once_flag& flag, Function&& f, Args&& args...);
(C++11 feature)

Executes the function f exactly once, even if called from several threads.

Each group of call_once invocations, which receives the same std::once_flag object, follows the following requirements:

Contents

[edit] Parameters

flag - an object, for which exactly one function gets executed
f - function to call
args... - arguments to pass to the function

[edit] Return value

(none)

[edit] Exceptions

[edit] Example

[edit] See also

once_flag (C++11)
helper object to ensure that call_once invokes the function only once
(class)