Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
FBB::Mbuf(3bobcat)              Message handler             FBB::Mbuf(3bobcat)

NAME
       FBB::Mbuf - std::streambuf handling messages

SYNOPSIS
       #include <bobcat/mbuf>
       Linking option: -lbobcat

DESCRIPTION
       Objects of this class implement a std::streambuf class that are used to
       handle messages in a standardized way. Messages may be prefixed with
       order numbers and labels and/or line numbers.

       By default all messages are inserted into the standard output stream,
       but other destinations (standard error, a named file, etc.) can easily
       be configured.

       FBB::Mbuf objects themselves are std::streambuf objects, so they can be
       used to construct std::ostream objects. However, they are intended to
       be used by mstream(3bobcat) objects.

NAMESPACE
       FBB
       All elements mentioned in this man-page, are defined in the namespace
       FBB.

INHERITS FROM
       std::streambuf

CONSTRUCTORS
       o      Mbuf():
              The default constructor handles messages using the
              std::streambuf also used by std::cout. There is no limit to the
              number of messages that may be inserted. No message or line
              numbers are shown, no exception are thrown when inserting
              messages.

       o      explicit Mbuf(std::streambuf *buf, size_t maxCount =
              std::numeric_limits<size_t>::max(), std::string const &tag = "",
              bool throwing = false):
              This constructor uses buf to handle messages. By default (using
              the default argument values) there is no limit to the number of
              messages that may be inserted. No message or line numbers are
              shown, no exception are thrown when inserting messages.
              Specifying any other value than
              std::numeric_limits_size_t_::max() sets the maximum number of
              messages that can be inserted to that value. The tag defines the
              text of the message label (e.g., Error). When throwing is
              specified as true an FBB::Exception exception is thrown after
              completing a message. The generated exception holds the id (see
              below for the member id) of the FBB::Mbuf object from which the
              exception was thrown as well as the text FBB::Mbuf.

       o      explicit Mbuf(std::string const &name, size_t maxCount =
              std::numeric_limits<size_t>::max(), std::string const &tag = "",
              bool throwing = false):
              This constructor creates a std::ofstream from the provided name
              parameter that receives the messages handled by the constructed
              FBB:Mbuf object. It throws an FBB::Exception exception if the
              stream cannot be opened for writing. If a file by that name
              already exists it is rewritten.  The remaining parameters are
              identical to those of the previous two constructors.  As
              FBB::Mbuf inherits from std::streambuf the copy constructor is
              not available. Neither is the move constructor.

MEMBER FUNCTIONS
       o      size_t count() const:
              returns the number of inserted messages (if setCount has been
              called: the value set by the last setCount call plus the number
              of inserted messages since that call).

       o      bool lineExcess() const:
              returns true after attempting to insert an additional message
              after maxCount() number of messages have been inserted.

       o      std::string const &lineTag() const:
              returns the currently used line-tag (by default `Line').

       o      size_t maxCount() const:
              returns the maximum number of messages that can be inserted. If
              the returned value equals std::numeric_limits_size_t_::max()
              then there is no limit to the number of messages that can be
              inserted.

       o      void noLineNr():
              calling this member will suppress the display of a line number
              if it is called after calling setLineNr (see below) but before a
              message is being (or has been) inserted.

       o      void reset(std::streambuf *buf, size_t maxCount, std::string
              const &tag, bool throwing):
              messages inserted into FBB::Mbuf objects are handled by
              std::streambuf buf.  By specifying
              std::numeric_limits_size_t_::max() for maxCount there is no
              limit to the number of messages that may be handled by this
              std::streambuf. The tag defines the text of the message label
              (e.g., Error or the empty string for no message label). When
              throwing is specified as true an FBB::Exception exception is
              thrown after completing a message.

       o      void reset(std::string const &name, size_t maxCount, std::string
              const &tag, bool throwing):
              messages inserted into FBB::Mbuf objects are handled by a
              std::ofstream created using the provided name parameter. It
              throws an FBB::Exception exception if the stream cannot be
              opened for writing. If a file by that name already exists it is
              rewritten.  The remaining parameters are identical to those of
              the previous reset members.

       o      void reset(FBB::Mbuf const &mbuf):
              the current object is reset using the parameters of the mbuf
              parameter. Following the reset all of the current object's
              parameters can independently be modified from those used by
              mbuf.

       o      void setCount(size_t count):
              assigns the value count to the object's message counter.

       o      void setLineNr(size_t lineNr):
              specifies the value lineNr as the message's line number when the
              next line is displayed (see also noLineNr). This value is not
              changed by the FBB::Mbuf object. To display another line number
              the member will have to be called again (i.e., the line number
              is not displayed automatically again at every new line).

       o      void setLineTag(std::string const &tag):
              specifies the tag prefixing line numbers. By default the line
              tag equals `Line'.

       o      void setMaxCount(size_t maxCount):
              defines maxCount as the maximum number of messages that can be
              inserted into the FBB::Mbuf object.

       o      void setTag(std::string const &tag):
              specifies the tag prefixing messages. By default the tag is
              empty. If not empty the tag is enclosed by square brackets.
              E.g., specifying the tag `Error' will prefix messages with
              [Error].

       o      std::string const &tag() const:
              returns the currently used message tag (by default an empty
              string).

       o      bool throws():
              returns true when the FBB::Mbuf object will throw an
              FBB::Exception exception at the next completed message. The
              generated exception holds the id (see earlier for the member id)
              of the FBB::Mbuf object from which the exception was thrown as
              well as the text FBB::Mbuf.

       o      void throwing(bool ifTrue):
              modifies the behavior of FBB::Mbuf objects at completed
              messages. After passing true FBB::Mbuf objects will throw an
              FBB::Exception exception at the next completed message,
              otherwise this exception is not thrown.

EXAMPLE
       See the mstream(3bobcat) example.

FILES
       bobcat/mbuf - defines the class interface

SEE ALSO
       bobcat(7), exception(3bobcat), mstream(3bobcat)

BUGS
       None Reported.

DISTRIBUTION FILES
       o      bobcat_3.25.01-x.dsc: detached signature;

       o      bobcat_3.25.01-x.tar.gz: source archive;

       o      bobcat_3.25.01-x_i386.changes: change log;

       o      libbobcat1_3.25.01-x_*.deb: debian package holding the
              libraries;

       o      libbobcat1-dev_3.25.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'.

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_3.25.01-x.tar.gz     2005-2015                FBB::Mbuf(3bobcat)

NAME | SYNOPSIS | DESCRIPTION | NAMESPACE | INHERITS FROM | CONSTRUCTORS | MEMBER FUNCTIONS | EXAMPLE | FILES | SEE ALSO | BUGS | DISTRIBUTION FILES | BOBCAT | COPYRIGHT | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=mbuf&manpath=FreeBSD+10.3-RELEASE+and+Ports>

home | help