libyb / libyb / async / cancellation_token.hpp

#ifndef LIBYB_ASYNC_CANCELLATION_TOKEN_HPP
#define LIBYB_ASYNC_CANCELLATION_TOKEN_HPP

#include "cancel_level.hpp"

namespace yb {

namespace detail {
class cancellation_token_core_base;
}

class cancellation_token
{
public:
	cancellation_token();
	explicit cancellation_token(detail::cancellation_token_core_base * core);
	cancellation_token(cancellation_token const & o);
	~cancellation_token();
	cancellation_token & operator=(cancellation_token const & o);
	void cancel(cancel_level cl);

private:
	detail::cancellation_token_core_base * m_core;
};

} // namespace yb

#endif // LIBYB_ASYNC_CANCELLATION_TOKEN_HPP
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.