glob

FBB::Glob(3bobcat)         Files matching a pattern         FBB::Glob(3bobcat)



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
       Glob::Type:
       This enumeration, which is identical to the stat(3bobcat) Type
       enumeration, defines the following values:

       o      BLOCK_DEVICE: the object represents a block device

       o      CHARACTER_DEVICE: the object represents a character device

       o      DIRECTORY: the object represents a directory

       o      FIFO: the object represents a named pipe (a queue)

       o      REGULAR_FILE: the object represents a regular file

       o      SOCKET: the object represents a socket

       o      SYMBOLIC_LINK: the object represents a symbolic link

       o      ANY: any of the above types


       Glob::Flags:

       o      NO_FLAG:   Equals 0, and can be used to avoid having to specify
              0. It has no further use.

       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 (i.e.,
              * and ?).

       o      NOMATCH: When specified the constructors won’t throw exceptions
              when no files matching their glob-patterns could be found.
              Instead they will return normally, and Glob’s size() member (see
              below) will return 0.


       Glob::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 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.

       o      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.


       Copy and move constructors (and assignment operators) are available.

OVERLOADED OPERATORS
       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      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;
           }



FILES
       bobcat/glob - defines the class interface

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

BUGS
       No Reported Bugs.

DISTRIBUTION FILES
       o      bobcat_5.00.02-x.dsc: detached signature;

       o      bobcat_5.00.02-x.tar.gz: source archive;

       o      bobcat_5.00.02-x_i386.changes: change log;

       o      libbobcat1_5.00.02-x_*.deb: debian package holding the
              libraries;

       o      libbobcat1-dev_5.00.02-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’.

COPYRIGHT
       This is free software, distributed under the terms of the GNU General
       Public License (GPL).

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

libbobcat-dev_5.00.02-x.tar.gz     2005-2019                FBB::Glob(3bobcat)