template<typename result_t>
class xtd::delegate< result_t()>
Represents a delegate, which is a data structure that refers to a static method or to a class instance && an instance method of that class.
- Namespace
- xtd
- Library
- xtd.core
- Examples
- The following example shows how to define a delegate named my Method delegate. Instances of this delegate are created for an instance method && a static method of the nested mySampleClass class. The delegate for the instance method requires an instance of mySampleClass. The mySampleClass instance is saved in a variable named mySC.
#include <xtd/xtd>
using namespace std;
}
public:
console::write_line("Hello {}", s);
}
};
int main() {
example_function
f = {std::bind(&::object::hello, &instance, std::placeholders::_1)};
return 0;
}
static void write_line()
Writes the current line terminator to the standard output stream using the specified format informati...
delegate()=default
Initializes an empty delegate.
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition: object.h:26
object()=default
Create a new instance of the ultimate base class object.
Represents text as a sequence of UTF-8 code units.
Definition: ustring.h:48
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition: system_report.h:17
|
| delegate ()=default |
| Initializes an empty delegate.
|
|
| delegate (const delegate &delegate) noexcept |
| Initializes a delegate that invokes the specified delegate instance.
|
|
template<typename object1_t , typename object2_t > |
| delegate (const object1_t &object, result_t(object2_t::*method)() const) noexcept |
| Initializes a delegate that invokes the specified instance method on the specified class instance.
|
|
template<typename object1_t , typename object2_t > |
| delegate (const object1_t &object, result_t(object2_t::*method)()) noexcept |
| Initializes a delegate that invokes the specified instance method on the specified class instance.
|
|
void | clear () |
| Clear delegates array.
|
|
const std::vector< function_t > & | functions () const |
| Gets the delegates array.
|
|
result_t | invoke () const |
| invokes the method represented by the current delegate.
|
|
bool | is_empty () const noexcept |
| Return if the delegate is empty.
|
|
bool | operator!= (const delegate &delegate) const |
| Determines whether this instance and another specified delegateType object have the same value.
|
|
result_t | operator() () const |
| invokes the method represented by the current delegate.
|
|
delegate & | operator= (const function_t &function) noexcept |
|
bool | operator== (const delegate &delegate) const noexcept |
| Determines whether this instance and another specified delegateType object have the same value.
|
|
| object ()=default |
| Create a new instance of the ultimate base class object.
|
|
virtual bool | equals (const object &obj) const noexcept |
| Determines whether the specified object is equal to the current object.
|
|
virtual size_t | get_hash_code () const noexcept |
| Serves as a hash function for a particular type.
|
|
template<typename object_t > |
std::unique_ptr< object_t > | memberwise_clone () const |
| Gets the type of the current instance.
|
|
virtual xtd::ustring | to_string () const noexcept |
| Returns a std::string that represents the current object.
|
|
|
static delegate | combine (const delegate &a, const delegate &b) noexcept |
| Concatenates the invocation lists of two delegates.
|
|
static delegate | combine (const std::vector< delegate > &delegates) noexcept |
| Concatenates the invocation lists of an array of delegates.
|
|
static delegate | remove (const delegate &source, const delegate &value) noexcept |
| removes the last occurrence of the invocation list of a delegate from the invocation list of another delegate.
|
|
static delegate | remove_all (const delegate &source, const delegate &value) noexcept |
| removes all occurrences of the invocation list of a delegate from the invocation list of another delegate.
|
|
static bool | equals (const object &object_a, const object &object_b) noexcept |
| Determines whether the specified object instances are considered equal.
|
|
static bool | reference_equals (const object &object_a, const object &object_b) noexcept |
| Determines whether the specified object instances are the same instance.
|
|