1 /* Invisible Vector Library
2 * coded by Ketmar // Invisible Vector <ketmar@ketmar.no-ip.org>
3 * Understanding is not required. Only obedience.
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, version 3 of the License ONLY.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 import iv
.tinycdb
, iv
.tinycdbmk
;
18 import std
.stdio
: writeln
, writefln
;
21 void fi (ref CDB cdb
, string key
) {
22 writeln("=== ", key
, " ===");
23 auto it
= cdb
.findFirst(key
);
25 writeln(" [", cast(const(char)[])it
.front
, "]");
31 void fk (ref CDB cdb
, string key
) {
32 auto val
= cdb
.find(key
);
34 writeln("[", key
, "] = [", cast(const(char)[])val
, "]");
36 writeln("[", key
, "] = NOT FOUND!");
42 writefln("0x%08x", CDB
.hash("key0"));
44 auto mk
= CDBMaker("z.cdb");
45 mk
.put("key0", "fuck");
46 mk
.put("key1", "ass");
47 mk
.put("key0", "shit");
48 mk
.put("key1", "piss", mk
.PUT_INSERT
);
49 mk
.put("key3", "urine", mk
.PUT_INSERT
);
50 if (!mk
.close()) assert(0, "CDB WRITE ERROR!");
53 auto cdb
= CDB("z.cdb");