SYNOPSIS
#include <bobcat/glob>Linking option: -lbobcat
DESCRIPTION
The FBB::Glob class is a wrapper around the C function glob(3). It returns a list of files matching a certain pattern provided to FBB::Glob's constructors or members.
NAMESPACE
FBBAll constructors, members, operators and manipulators, mentioned in this man-page, are defined in the namespace FBB.
INHERITS FROM
-
ENUMERATIONS
Glob::Type:
This enumeration, which is identical to the stat(3bobcat) Type
enumeration, defines the following values:
- BLOCK_DEVICE: the object represents a block device
- CHARACTER_DEVICE: the object represents a character device
- DIRECTORY: the object represents a directory
- FIFO: the object represents a named pipe (a queue)
- REGULAR_FILE: the object represents a regular file
- SOCKET: the object represents a socket
- SYMBOLIC_LINK: the object represents a symbolic link
-
ANY: any of the above types
Glob::Flags:
- ERR: Return on read errors;
- MARK: Append a slash to each name.
- NOSORT: Don't sort the names.
- NOESCAPE: Backslashes don't quote metacharacters.
-
PERIOD: Leading .-characters can be matched by metachars (i.e.,
* and ?).
Glob::Dots:
- FIRST: Filenames starting with a dot will be listed first. Within this set and in the leftover-set the relative ordering is maintained.
-
DEFAULT: Return filenames as they appear in the globbing process.
CONSTRUCTORS
-
Glob(std::string const &pattern = "*", int flags = PERIOD,
Dots dots = FIRST):
This constructor (which can also be used as the default constructor) determines all elements matching pattern. - An Exception exception is thrown if the constructor could not properly complete it tasks.
- Multiple flags may be specified, separated by the bitor operator.
- This constructor properly completes its task if only defined Flag values were specified and if the glob(3) function returned without errors.
-
Glob(Type type, std::string const &pattern = "*", int flags = PERIOD,
Dots dots = FIRST):
This constructor determines all elements of pattern matching Type. The specified type value may consist of any bitor-ed combination of enum values defined by the Type enum. Remaining parameters and
Glob offers copy and move constructors.
OVERLOADED OPERATORS
-
Glob &operator=(Glob const &other):
The assignment operator is available. -
Glob &operator=(Glob &&tmp):
The move-assignment operator is available. -
char const *operator[](size_t idx) const:
The element at index position idx is returns as a C string. It returns an empty string if idx is or exceeds size().
MEMBER FUNCTIONS
-
void verify() const:
Empty function, kept for backward compatibility. -
size_t size() const:
Returns the number of elements that were detected. -
char const *const *begin() const:
Returns a pointer to the first element that was detected. This pointer can be used in generic algorithms as an output-iterator supporting pointer arithmetic. -
char const *const *end() const:
Returns a pointer beyond the last element that was detected. This pointer can be used in generic algorithms as an output-iterator supporting pointer arithmetic. -
void swap(Glob &other):
Swaps the contents of the other object with the current object.
EXAMPLES
int main(int argc, char **argv) { if (argc == 1) { cout << "Provide glob-expression as 1st arg\n"; return 1; } cout << "General:\n"; Glob general; for (size_t idx = 0; idx < general.size(); idx++) cout << idx << ": " << general[idx] << endl; cout << "Pattern: " << argv[1] << "\n"; Glob pattern(argv[1], Glob::PERIOD, Glob::DEFAULT); for (size_t idx = 0; idx < pattern.size(); idx++) cout << idx << ": " << pattern[idx] << endl; return 0; }
FILES
bobcat/glob - defines the class interface
BUGS
No Reported Bugs.
DISTRIBUTION FILES
- bobcat_4.02.00-x.dsc: detached signature;
- bobcat_4.02.00-x.tar.gz: source archive;
- bobcat_4.02.00-x_i386.changes: change log;
- libbobcat1_4.02.00-x_*.deb: debian package holding the libraries;
- libbobcat1-dev_4.02.00-x_*.deb: debian package holding the libraries, headers and manual pages;
-
http://sourceforge.net/projects/bobcat: public archive location;
BOBCAT
Bobcat is an acronym of `Brokken's Own Base Classes And Templates'.
COPYRIGHT
This is free software, distributed under the terms of the GNU General Public License (GPL).