| Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
if vis actually wants to be a library exported symbols may need
mark up depending on the platform (eg. __declspec(dllexport)).
This needs to be hidden behind a macro because the way you export
is not the same on every platform.
I did this based on the assumption that vis.h was supposed to be
the only interface to the "vis" library. Since nobody actually
uses vis as a library I have no idea if this is actually correct.
Anyway marking up all prototypes like this allows for one to
convert all functions to static if a single translation unit is
used by inserting at the start:
#define VIS_INTERNAL static
#define VIS_EXPORT static
|
|
the return of these functions already give all the necessary
information. this is not c standard library code, we have no need
of such a nonsensical error reporting mechanism
NOTE: since errno needs to be thread local accessing it from
non-libc code ends up being a function call and serves as a
pointless optimization barrier.
|
|
|
|
|
|
|
|
|
|
Tests whether the given prefix can be extended to exactly one map element
i.e. true iff the prefix map contains exactly one element.
|
|
|
|
|
|
|
|
Copies all entries from one map to another, overwriting existing entries.
|
|
|
|
It supports lookups based on unique prefixes as well as ordered
iteration. More information about the data structure can be found
at:
http://cr.yp.to/critbit.htm
http://github.com/agl/critbit
http://ccodearchive.net/info/strmap.html
It will be used to implement ":"-commands which means any unique
prefix will be recognized as a command.
It could also be used to implement (runtime) key bindings.
|