glob.3bobcat

Langue: en

Version: 345369 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

FBB::Glob - Wrapper around glob(3) to find files matching a pattern

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

FBB
All constructors, members, operators and manipulators, mentioned in this man-page, are defined in the namespace FBB.

INHERITS FROM

-

ENUMERATIONS

Flags:

o
ERR: Return on read errors;
o
MARK: Append a slash to each name.
o
NOSORT: Don't sort the names.
o
NOESCAPE: Backslashes don't quote metacharacters.
o
PERIOD: Leading .-characters can be matched by metachars.

Dots:

o
FIRST: Filenames starting with a dot will be listed first. Within this set and in the leftover-set the relative ordering is maintained.
o
DEFAULT: Return filenames as they appear in the globbing process.

CONSTRUCTORS

o
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 in the current directory. The . and .. relative filenames are not part of the listings. Used as default constructor, other directory elements starting with a period will be the first elements in the series of detected directory elements.
This constructor throws an Errno exception if it did 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 offers copy and move constructors.

OVERLOADED OPERATORS

o
Glob &operator=(Glob const &other):
The assignment operator is available.
o
Glob &operator=(Glob const &&tmp):
The move-assignment operator is available.
o
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

o
void verify() const:
Obsoleted, will be removed in a future Bobcat release.
o
size_t size() const:
Returns the number of elements that were detected.
o
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.
o
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.
o
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

SEE ALSO

bobcat(7), stat(3bobcat), glob(3)

BUGS

No Reported Bugs.

DISTRIBUTION FILES

o
bobcat_2.08.01-x.dsc: detached signature;
o
bobcat_2.08.01-x.tar.gz: source archive;
o
bobcat_2.08.01-x_i386.changes: change log;
o
libbobcat1_2.08.01-x_*.deb: debian package holding the libraries;
o
libbobcat1-dev_2.08.01-x_*.deb: debian package holding the libraries, headers and manual pages;
o
http://sourceforge.net/projects/bobcat: public archive location;

BOBCAT

Bobcat is an acronym of `Brokken's Own Base Classes And Templates'. This is free software, distributed under the terms of the GNU General Public License (GPL).

AUTHOR

Frank B. Brokken (f.b.brokken@rug.nl).