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, either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 import iv
.tinycdb
, iv
.tinycdbmk
;
19 import std
.stdio
: writeln
, writefln
;
22 void fi (ref CDB cdb
, string key
) {
23 writeln("=== ", key
, " ===");
24 auto it
= cdb
.findFirst(key
);
26 writeln(" [", cast(const(char)[])it
.front
, "]");
32 void fk (ref CDB cdb
, string key
) {
33 auto val
= cdb
.find(key
);
35 writeln("[", key
, "] = [", cast(const(char)[])val
, "]");
37 writeln("[", key
, "] = NOT FOUND!");
43 writefln("0x%08x", CDB
.hash("key0"));
45 auto mk
= CDBMaker("z.cdb");
46 mk
.put("key0", "fuck");
47 mk
.put("key1", "ass");
48 mk
.put("key0", "shit");
49 mk
.put("key1", "piss", mk
.PUT_INSERT
);
50 mk
.put("key3", "urine", mk
.PUT_INSERT
);
51 if (!mk
.close()) assert(0, "CDB WRITE ERROR!");
54 auto cdb
= CDB("z.cdb");