Differences

This shows you the differences between two versions of the page.

Link to this comparison view

dss:laboratoare:02 [2019/06/18 14:37]
razvan.nitu1305
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]].
Line 726: Line 729:
 </​note>​ </​note>​
  
-==== 5. Error solving ​====+==== 5. Error ====
  
 Navigate to the ''​5-error''​ directory. Inspect and compile the code. What happens? Why? Solve the issue. Navigate to the ''​5-error''​ directory. Inspect and compile the code. What happens? Why? Solve the issue.
 +
 +==== 6. Standard library template example ====
 +
 +Follow this [[https://​github.com/​dlang/​phobos/​blob/​master/​std/​algorithm/​sorting.d#​L317|link]]. That is the official D language standard library implementation of the **ordered** function. Read the documentation and the unittests, then try to understand the implementation. This is how real life meta-programming looks like. Ask the [[http://​ocw.cs.pub.ro/​courses/​dss?&#​team|lab rats]] about clarifications on any misunderstandings. ​
dss/laboratoare/02.1560857841.txt.gz ยท Last modified: 2019/06/18 14:37 by razvan.nitu1305
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0