diff options
author | Eric Wong <normalperson@yhbt.net> | 2008-09-09 13:16:03 -0700 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2008-09-09 13:16:03 -0700 |
commit | 8ea40fae6181d788b0900aa6c77c3cdb1e9b5992 (patch) | |
tree | f4a76b53742e37f0c0b52c9f310fde6ee39c0f2d /src/strset.h | |
parent | effee99748e4c269e3eaa41bc664eccd06fa2367 (diff) | |
parent | 09dccb79f611110a5a653030c7c21958eda95a03 (diff) | |
download | mpd-8ea40fae6181d788b0900aa6c77c3cdb1e9b5992.tar.gz mpd-8ea40fae6181d788b0900aa6c77c3cdb1e9b5992.tar.xz mpd-8ea40fae6181d788b0900aa6c77c3cdb1e9b5992.zip |
Merge branch 'mk/strset'
* mk/strset:
use strset.h instead of tagTracker.h
strset: fix duplicate values
added string set library
Diffstat (limited to '')
-rw-r--r-- | src/strset.h (renamed from src/tagTracker.h) | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/src/tagTracker.h b/src/strset.h index 2edb5aad0..41ef0e1bd 100644 --- a/src/tagTracker.h +++ b/src/strset.h @@ -1,5 +1,5 @@ /* the Music Player Daemon (MPD) - * Copyright (C) 2003-2007 by Warren Dukes (warren.dukes@gmail.com) + * Copyright (C) 2008 Max Kellermann <max@duempel.org> * This project's homepage is: http://www.musicpd.org * * This program is free software; you can redistribute it and/or modify @@ -16,17 +16,34 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef TAG_TRACKER_H -#define TAG_TRACKER_H +/** + * "struct strset" is a hashed string set: you can add strings to this + * library, and it stores them as a set of unique strings. You can + * get the size of the set, and you can enumerate through all values. + * + * It is important to note that the strset does not copy the string + * values - it stores the exact pointers it was given in strset_add(). + */ + +#ifndef STRSET_H +#define STRSET_H + +#include "gcc.h" + +struct strset; + +mpd_malloc struct strset *strset_new(void); + +void strset_free(struct strset *set); -int getNumberOfTagItems(int type); +void strset_add(struct strset *set, const char *value); -void printMemorySavedByTagTracker(void); +int strset_get(const struct strset *set, const char *value); -void resetVisitedFlagsInTagTracker(int type); +unsigned strset_size(const struct strset *set); -void visitInTagTracker(int type, const char *str); +void strset_rewind(struct strset *set); -void printVisitedInTagTracker(int fd, int type); +const char *strset_next(struct strset *set); #endif |