This shows you the differences between two versions of the page.
|
dss:laboratoare:02 [2019/06/18 14:50] razvan.nitu1305 [6. Standard library template example] |
dss:laboratoare:02 [2019/06/20 10:40] (current) razvan.nitu1305 [2. Generic Partitioning Search] |
||
|---|---|---|---|
| Line 683: | Line 683: | ||
| Template constraints have the same syntax as an if statement (without else). | Template constraints have the same syntax as an if statement (without else). | ||
| + | |||
| + | |||
| ===== Exercises ===== | ===== Exercises ===== | ||
| + | |||
| + | The exercises for ''lab-02'' are located in this [[https://github.com/RazvanN7/D-Summer-School/tree/master/lab-02|repo]]. | ||
| ==== 1. Enum disassembly ==== | ==== 1. Enum disassembly ==== | ||
| Line 697: | Line 701: | ||
| * The algorithm will receive an array/associative array and an element and returns the number of elements that are lesser than the element in the array/associative array list of keys. | * The algorithm will receive an array/associative array and an element and returns the number of elements that are lesser than the element in the array/associative array list of keys. | ||
| * The element type may be struct, class or builtin type. | * The element type may be struct, class or builtin type. | ||
| - | * Struct and builtin types have default ordering comparison, however classes do not. | ||
| * Use templated function(s) and **template constraints** or **static if**s to implement the various cases. | * Use templated function(s) and **template constraints** or **static if**s to implement the various cases. | ||
| * Use these [[https://dlang.org/phobos/std_traits.html|helper traits]]. | * Use these [[https://dlang.org/phobos/std_traits.html|helper traits]]. | ||