annotate dynamin/core/array.d @ 103:73060bc3f004

Change license to Boost 1.0 and MPL 2.0.
author Jordan Miner <jminer7@gmail.com>
date Tue, 15 May 2012 22:06:02 -0500
parents 604d20cac836
children 4636a64afabc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
102
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
1
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
2 /*
103
73060bc3f004 Change license to Boost 1.0 and MPL 2.0.
Jordan Miner <jminer7@gmail.com>
parents: 102
diff changeset
3 * Copyright Jordan Miner
102
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
4 *
103
73060bc3f004 Change license to Boost 1.0 and MPL 2.0.
Jordan Miner <jminer7@gmail.com>
parents: 102
diff changeset
5 * Distributed under the Boost Software License, Version 1.0.
73060bc3f004 Change license to Boost 1.0 and MPL 2.0.
Jordan Miner <jminer7@gmail.com>
parents: 102
diff changeset
6 * (See accompanying file BOOST_LICENSE.txt or copy at
73060bc3f004 Change license to Boost 1.0 and MPL 2.0.
Jordan Miner <jminer7@gmail.com>
parents: 102
diff changeset
7 * http://www.boost.org/LICENSE_1_0.txt)
102
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
8 *
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
9 */
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
10
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
11 module dynamin.core.array;
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
12
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
13 /**
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
14 * Tests whether or not the specified item is in the specified array.
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
15 * Returns: true if the specified item is in the array and false otherwise
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
16 * Examples:
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
17 * -----
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
18 * "Hello".contains('e') == true
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
19 * "Hello".contains('a') == false
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
20 * "".contains('e') == false
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
21 * assert([2, 3, 7].contains(3) == true);
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
22 * assert([2, 3, 7].contains(0) == false);
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
23 * -----
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
24 */
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
25 bool contains(T, U)(T[] arr, U item) {
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
26 foreach(U item2; arr) {
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
27 if(item == item2)
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
28 return true;
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
29 }
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
30 return false;
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
31 }
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
32
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
33 unittest {
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
34 assert("Hello".contains('e') == true);
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
35 assert("Hello".contains('a') == false);
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
36 assert("".contains('e') == false);
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
37 assert([2, 3, 7].contains(3) == true);
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
38 assert([2, 3, 7].contains(0) == false);
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
39 }
604d20cac836 Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff changeset
40