April 2017
Intermediate to advanced
266 pages
7h 4m
English
The using A for B; directive can be used to attach library functions (from the library A to any type B). These functions will receive the object they are called on as their first parameter.
The effect of using A for *; is that the functions from the library A are attached to all types.
Here is an example to demonstrate for:
library math { struct myStruct1 { int a; } struct myStruct2 { int a; } //Here we have to make 's' location storage so that we get a reference. //Otherwise addInt will end up accessing/modifying a different instance of myStruct1 than the one on which its invoked function addInt(myStruct1 storage s, int b) returns (int c) { return s.a + b; } function subInt(myStruct2 storage s, int b) returns (int ...