名前空間
変種
操作

std::packaged_task

提供: cppreference.com
< cpp‎ | thread

 
 
スレッドのサポートライブラリ
スレッド
Original:
Threads
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
thread(C++11)
this_thread空間
Original:
this_thread namespace
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
get_id(C++11)
yield(C++11)
sleep_for(C++11)
sleep_until(C++11)
相互排除
Original:
Mutual exclusion
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
mutex(C++11)
timed_mutex(C++11)
汎用のロック管理
Original:
Generic lock management
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
lock_guard(C++11)
unique_lock(C++11)
defer_lock_t
try_to_lock_t
adopt_lock_t
(C++11)
(C++11)
(C++11)
lock(C++11)
try_lock(C++11)
defer_lock
try_to_lock
adopt_lock
(C++11)
(C++11)
(C++11)
条件変数
Original:
Condition variables
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
condition_variable(C++11)
condition_variable_any(C++11)
notify_all_at_thread_exit(C++11)
cv_status(C++11)
先物
Original:
Futures
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
promise(C++11)
future(C++11)
shared_future(C++11)
packaged_task(C++11)
async(C++11)
launch(C++11)
future_status(C++11)
future_error(C++11)
future_category(C++11)
future_errc(C++11)
 
std::packaged_task
メンバ関数
Original:
Member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
packaged_task::packaged_task
packaged_task::~packaged_task
packaged_task::operator=
packaged_task::valid
packaged_task::swap
結果を取得する
Original:
Getting the result
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
packaged_task::get_future
実行
Original:
Execution
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
packaged_task::operator()
packaged_task::make_ready_at_thread_exit
packaged_task::reset
 
Defined in header <future>
template< class > class packaged_task; //not defined
(1) (C + + 11以来)
template< class R, class Args... >
class packaged_task<R(Args...)>;
(2) (C + + 11以来)
クラステンプレートstd::packaged_taskは、それが非同期的に呼び出すこともできますので、任意の呼び出し可能なターゲット(関数、ラムダ式、バインド式、または別の関数オブジェクト)をラップし、スローその戻り値または例外がstd::futureを介してアクセス可能な共有状態に格納されオブジェクト.
Original:
The class template std::packaged_task wraps any callable target (function, lambda expression, bind expression, or another function object) so that it can be invoked asynchronously, and its return value or exception thrown is stored in the shared state, which can be accessed through std::future objects.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ちょうどstd::functionような、ポリモーフィックstd::packaged_task、アロケータアウェアコンテナです:ストアド呼び出し可能なターゲットがヒープ上に、または提供のアロケータを割り当てるかもしれません.
Original:
Just like std::function, std::packaged_task is a polymorphic, allocator-aware container: the stored callable target may be allocated on heap or with a provided allocator.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

目次

[編集] メンバ関数

タスクオブジェクトを構築します
Original:
constructs the task object
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(パブリックメンバ関数) [edit]
タスクオブジェクトを破棄します
Original:
destructs the task object
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(パブリックメンバ関数) [edit]
タスクオブジェクトを移動します
Original:
moves the task object
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(パブリックメンバ関数) [edit]
タスクオブジェクトかどうかをチェックするには、有効な機能を持っています
Original:
checks if the task object has a valid function
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(パブリックメンバ関数) [edit]
スワップ2タスクオブジェクト
Original:
swaps two task objects
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(パブリックメンバ関数) [edit]
結果を取得する
Original:
Getting the result
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
は約束された結果に関連付けられstd::futureを返す最初の引数が2番目の値より小さい'の場合
Original:
returns a std::future associated with the promised result
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(パブリックメンバ関数) [edit]
実行
Original:
Execution
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
関数が実行されます
Original:
executes the function
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(パブリックメンバ関数) [edit]
結果は一度だけ現在のスレッドが終了する準備ができていることを確保する関数を実行します
Original:
executes the function ensuring that the result is ready only once the current thread exits
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(パブリックメンバ関数) [edit]
リセットされ、以前の実行のいずれかの格納された結果を放棄した状態
Original:
resets the state abandoning any stored results of previous executions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(パブリックメンバ関数) [edit]

[編集] 非メンバ関数

std::swapアルゴリズムを専門としています
Original:
specializes the std::swap algorithm
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(関数テンプレート) [edit]

[編集] ヘルパークラス

std::uses_allocator型形質を専門としています
Original:
specializes the std::uses_allocator type trait
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(クラステンプレートの特殊化の2つの値を比較します) [edit]

[編集]

#include <iostream>
#include <future>
#include <thread>
 
int main()
{
    std::packaged_task<int()> task([](){return 7;}); // wrap the function
    std::future<int> result = task.get_future();  // get a future
    std::thread(std::move(task)).detach(); // launch on a thread
    std::cout << "Waiting...";
    result.wait();
    std::cout << "Done!\nResult is " << result.get() << '\n';
}

Output:

Waiting...Done!
Result is 7

[編集] も参照してください

(C++11)
非同期で設定された値を待ちます
Original:
waits for a value that is set asynchronously
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(クラステンプレート) [edit]