|
Class template functionBoost , The Boost C++ Libraries BoostBook Documentation Subset , Reference
Class template function
boost::function — A generalized function pointer that can be used for
callbacks or wrapping function objects.
Synopsis
template<typename Signature>
class function : public functionN<R, T1, T2, ..., TN> {
public:
typedef R result_type;
typedef T1 argument_type;
typedef T1 first_argument_type;
typedef T2 second_argument_type;
typedef T1 arg1_type;
typedef T2 arg2_type;
.
.
.
typedef TN argN_type;
static const int arity = N;
template<typename Args>
struct sig {
typedef result_type type;
};
function();
function(const functionN&);
function(functionN&&);
function(const function&);
function(function&&);
template<typename F> function(F);
template<typename F, typename Allocator> function(F, Allocator);
function& operator=(const functionN&);
function& operator=(functionN&&);
function& operator=(const function&);
function& operator=(function&&);
~function();
void swap(const function&);
void clear();
bool empty() const;
operator safe_bool() const;
bool operator!() const;
template<typename Functor> Functor* target();
template<typename Functor> const Functor* target() const;
template<typename Functor> bool contains(const Functor&) const;
const std::type_info& target_type() const;
result_type operator()(arg1_type, arg2_type, ..., argN_type) const;
};
template<typename Signature>
void swap(function<Signature>&, function<Signature>&);
template<typename Signature, typename Functor>
bool operator==(const function<Signature>&, Functor);
template<typename Signature, typename Functor>
bool operator==(Functor, const function<Signature>&);
template<typename Signature, typename Functor>
bool operator==(const function<Signature>&, reference_wrapper<Functor>);
template<typename Signature, typename Functor>
bool operator==(reference_wrapper<Functor>, const function<Signature>&);
template<typename Signature1, typename Signature2>
void operator==(const function<Signature1>&, const function<Signature2>&);
template<typename Signature, typename Functor>
bool operator!=(const function<Signature>&, Functor);
template<typename Signature, typename Functor>
bool operator!=(Functor, const function<Signature>&);
template<typename Signature, typename Functor>
bool operator!=(const function<Signature>&, reference_wrapper<Functor>);
template<typename Signature, typename Functor>
bool operator!=(reference_wrapper<Functor>, const function<Signature>&);
template<typename Signature1, typename Signature2>
void operator!=(const function<Signature1>&, const function<Signature2>&);
Description
Шаблон класса функция - тонкая обертка вокруг шаблонов классов функция0, функция1 и т.д. Он принимает тип функции с аргументами N и будет происходить из функцииN, мгновенных с аргументами, которые он получает.
Семантика всех операций в шаблоне класса функция эквивалентна семантике основного объекта функцииN, хотя требуются дополнительные функции-члены для обеспечения надлежащего копирования и копирования объектов функции.
function
public
construct/copy/destruct
функция();
- > >> >> >> > >> >> >> >
19> | >>>> | >>>
функция(функция& f); >Потребования: 29> | С++1 скомпилятор. | >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Если аргумент имеет свой объект функции, выделенный на кепке, его буфер будет назначен на *это, оставляя спор пустым. Throws: | Не будет бросать, если только аргумент не имеет своего объекта функции, выделенного не на кучи и копирования цели f бросок. |
- >>>>>>>>>>>>>>>3>>>>>>
| |