#include <uniconfkey.h>
The following paths are equivalent when canonicalized:
Keys that may contain slashes or nulls should be escaped in some fashion prior to constructing a UniConfKey object. Simply prefixing slashes with backslashes is inadequate because UniConfKey does not give any special meaning to backslash.
Definition at line 42 of file uniconfkey.h.
Public Member Functions | |
UniConfKey () | |
Constructs an empty UniConfKey (the 'root'). | |
UniConfKey (WvStringParm key) | |
Constructs a UniConfKey from a string. | |
UniConfKey (const char *key) | |
Constructs a UniConfKey from a string. | |
UniConfKey (int key) | |
Constructs a UniConfKey from an int. | |
UniConfKey (const UniConfKey &other) | |
Copies a UniConfKey. | |
UniConfKey (const UniConfKey &path, const UniConfKey &key) | |
Constructs a UniConfKey by concatenating two keys. | |
void | append (const UniConfKey &other) |
Appends a path to this path. | |
void | prepend (const UniConfKey &other) |
Prepends a path to this path. | |
bool | isempty () const |
Returns true if this path has zero segments (also known as root). | |
bool | iswild () const |
Returns true if the key contains a wildcard. | |
bool | hastrailingslash () const |
Returns true if the key has a trailing slash. | |
int | numsegments () const |
Returns the number of segments in this path. | |
UniConfKey | segment (int i) const |
Returns the specified segment of the path. | |
UniConfKey | pop (int n=1) |
Returns the path formed by the first n segments of this path and removes them from the key. | |
UniConfKey | first (int n=1) const |
Returns the path formed by the n first segments of this path. | |
UniConfKey | last (int n=1) const |
Returns the path formed by the n last segments of this path. | |
UniConfKey | removefirst (int n=1) const |
Returns the path formed by removing the first n segments of this path. | |
UniConfKey | removelast (int n=1) const |
Returns the path formed by removing the last n segments of this path. | |
UniConfKey | range (int i, int j) const |
Returns a range of segments. | |
WvString | printable () const |
Returns the canonical string representation of the path. | |
operator WvString () const | |
const char * | cstr () const |
Returns a (const char *) of printable() directly. | |
UniConfKey & | operator= (const UniConfKey &other) |
Assigns this path to equal another. | |
int | compareto (const UniConfKey &other) const |
Compares two paths lexicographically. | |
bool | matches (const UniConfKey &pattern) const |
Determines if the key matches a pattern. | |
bool | suborsame (const UniConfKey &key) const |
Returns true if 'key' is a the same, or a subkey, or this UniConfKey. | |
bool | suborsame (const UniConfKey &key, WvString &subkey) const |
UniConfKey | subkey (const UniConfKey &key) const |
If this UniConfKey is a subkey of 'key', then return the subkey portion. | |
bool | operator== (const UniConfKey &other) const |
Determines if two paths are equal. | |
bool | operator!= (const UniConfKey &other) const |
Determines if two paths are unequal. | |
bool | operator< (const UniConfKey &other) const |
Determines if this path precedes the other lexicographically. | |
Static Public Attributes | |
static UniConfKey | EMPTY |
static UniConfKey | ANY |
static UniConfKey | RECURSIVE_ANY |
Protected Member Functions | |
void | init (WvStringParm key) |
Classes | |
class | Iter |
An iterator over the segments of a key. More... |
|
Constructs a UniConfKey from a string. See the rules above for information about how the key string is canonicalized. "key" is the key as a string Definition at line 62 of file uniconfkey.h. References init(). |
|
Constructs a UniConfKey from a string. See the rules above for information about how the key string is canonicalized. This constructor only exists to help out the C++ compiler with its automatic type conversions. "key" is the key as a string Definition at line 74 of file uniconfkey.h. References init(). |
|
Copies a UniConfKey. "other" is the key to copy Definition at line 67 of file uniconfkey.cc. |
|
Constructs a UniConfKey by concatenating two keys. "path" is the initial part of the new path "key" is the tail of the new path Definition at line 72 of file uniconfkey.cc. References path, and spacecat(). |
|
Appends a path to this path. "other" is the path Definition at line 81 of file uniconfkey.cc. References path, and spacecat(). Referenced by _UniConfGenRecursiveIter::next(), and UniConf::XIter::XIter(). |
|
Prepends a path to this path. "other" is the path Definition at line 90 of file uniconfkey.cc. References path, and spacecat(). Referenced by UniHashTreeBase::_fullkey(), and _UniSecureIter::value(). |
|
Returns true if this path has zero segments (also known as root). Returns: numsegments() == 0 Definition at line 99 of file uniconfkey.cc. Referenced by UniHashTreeBase::_findchild(), UniTempGen::get(), UniPermGen::getgroup(), UniPermGen::getowner(), matches(), UniConf::XIter::rewind(), UniTempGen::set(), UniIniGen::set(), and UniConf::XIter::XIter(). |
|
Returns the number of segments in this path. The number of segments is equal to the number of slashes in the path unless the path is "/" (the root), which has zero segments. Returns: the number of segments Definition at line 119 of file uniconfkey.cc. Referenced by UniAutoMountGen::automount(), UniTransactionGen::create_change(), UniTransactionGen::create_value(), UniTransactionGen::gencallback(), UniWvConfGen::get(), UniMountGen::iterator(), UniDefGen::keymap(), last(), removelast(), UniSubtreeGen::reversekeymap(), UniConfKey::Iter::rewind(), UniWvConfGen::set(), UniRegistryGen::set(), UniTransactionGen::set_change(), UniTransactionGen::set_value(), suborsame(), and UniRegistryGen::UniRegistryGen(). |
|
Returns the specified segment of the path. "i" is the segment index Returns: the segment Definition at line 134 of file uniconfkey.cc. References range(). Referenced by UniTransactionGen::create_change(), UniTransactionGen::create_value(), UniTransactionGen::gencallback(), UniTransactionGen::get(), UniTransactionGen::iterator(), and UniConfKey::Iter::next(). |
|
Returns the path formed by the first n segments of this path and removes them from the key. Returns: the path Definition at line 140 of file uniconfkey.cc. References range(). Referenced by UniTempGen::set(). |
|
Returns the path formed by the n first segments of this path. "n" is the number of segments Returns: the path Definition at line 148 of file uniconfkey.cc. References range(). Referenced by UniAutoMountGen::automount(), UniTransactionGen::create_change(), UniTransactionGen::create_value(), UniWvConfGen::get(), matches(), UniWvConfGen::set(), UniRegistryGen::set(), UniTransactionGen::set_change(), suborsame(), UniRegistryGen::UniRegistryGen(), and UniConf::XIter::XIter(). |
|
Returns the path formed by the n last segments of this path. "n" is the number of segments Returns: the path Definition at line 154 of file uniconfkey.cc. References numsegments(), and range(). Referenced by UniWvConfGen::get(), UniTempGen::get(), UniRegistryGen::get(), UniPStoreGen::get(), UniConf::key(), UniWvConfGen::set(), UniRegistryGen::set(), UniPStoreGen::set(), and UniTransactionGen::set_value(). |
|
Returns the path formed by removing the first n segments of this path. "n" is the number of segments Returns: the path Definition at line 160 of file uniconfkey.cc. References range(). Referenced by matches(), UniSubtreeGen::reversekeymap(), suborsame(), and UniConf::XIter::XIter(). |
|
Returns the path formed by removing the last n segments of this path. "n" is the number of segments Returns: the path Definition at line 166 of file uniconfkey.cc. References numsegments(), and range(). Referenced by UniSecureGen::exists(), UniFastRegetGen::get(), UniPermGen::getgroup(), UniPermGen::getowner(), UniConf::parent(), and UniFileSystemGen::set(). |
|
Returns a range of segments. "i" is the first segment index, beginning if <= 0 "j" is the last segment index, end if >= numsegments() Returns: the path, empty if j <= i Definition at line 172 of file uniconfkey.cc. Referenced by first(), last(), pop(), removefirst(), removelast(), segment(), and UniRegistryGen::UniRegistryGen(). |
|
Returns the canonical string representation of the path. If the UniConfKey was constructed in part or whole from strings, then the string returned here will have the same case information as those strings but the arrangement of slashes may differ. That is, the identity UniConfKey(string).printable() == string does not hold. Returns: the path as a string Definition at line 214 of file uniconfkey.cc. Referenced by cstr(), UniPStoreGen::get(), operator WvString(), UniRegistryGen::set(), UniPStoreGen::set(), subkey(), and UniRegistryGen::UniRegistryGen(). |
|
Assigns this path to equal another. "other" is the other path Definition at line 220 of file uniconfkey.cc. References path. |
|
Compares two paths lexicographically. Uses case-insensitive matching on the path string to produce a total ordering of all paths. "other" is the other path Returns: 0 if *this == other, < 0 if *this < other, else > 0 Definition at line 227 of file uniconfkey.cc. References path. Referenced by UniHashTreeBase::_recursivecompare(), UniConf::SortedIterBase::defcomparator(), operator<(), and operator==(). |
|
Determines if the key matches a pattern. Patterns are simply keys that may have path segments consiting entirely of "*". Optional path segments are indicated by the segment "..." which matches zero or more segments. Using wildcards to represent part of a segment is not supported yet. "pattern" is the pattern Returns: true if the key matches, false otherwise Definition at line 233 of file uniconfkey.cc. References ANY, first(), isempty(), matches(), RECURSIVE_ANY, and removefirst(). Referenced by matches(). |
|
If this UniConfKey is a subkey of 'key', then return the subkey portion. Behaviour is undefined when this is not the same. Use suborsame() to check. Definition at line 303 of file uniconfkey.cc. References printable(), and suborsame(). Referenced by UniConf::fullkey(), and suborsame(). |
|
Determines if two paths are equal. "other" is the other path Returns: true in that case Definition at line 248 of file uniconfkey.h. References compareto(). |
|
Determines if two paths are unequal. "other" is the other path Returns: true in that case Definition at line 256 of file uniconfkey.h. |
|
Determines if this path precedes the other lexicographically. "other" is the other path Returns: true in that case Definition at line 264 of file uniconfkey.h. References compareto(). |
|
represents "" (root) Definition at line 47 of file uniconfkey.h. Referenced by UniConfGen::NullIter::key(), UniConf::root(), and UniIniGen::UniIniGen(). |
|
represents "*" Definition at line 48 of file uniconfkey.h. Referenced by matches(). |
|
represents "..." Definition at line 49 of file uniconfkey.h. Referenced by matches(). |