Creating a RedBlackTree

Bogdan olar.bogdan.dev at gmail.com
Wed May 15 13:08:18 UTC 2019


I don't have any experience with using templates. Is it possible 
to create a RB tree containing structs, where the nodes are 
ordered by one struct member?

```
import std.stdio;
import std.container;

enum KeyID: uint
{
	KEY_A,
	KEY_S,
	KEY_D,
	KEY_W
}

struct KeyController
{
	KeyID ID;
	bool isDown;
}


void main()
{
	auto rbt = redBlackTree!KeyController;
}

```

When I run this I get a compile error:
```
Error: template instance 
`std.container.rbtree.RedBlackTree!(KeyController)` does not 
match template declaration RedBlackTree(T, alias less = "a < b", 
bool allowDuplicates = false) if 
(is(typeof(binaryFun!less(T.init, T.init))))
```



More information about the Digitalmars-d-learn mailing list