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::stream-
	      buf  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. Specify-
	      ing 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_lim-
	      its_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  mes-
	      sage.

       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::Excep-
	      tion  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  mes-
	      sages.  After  passing  true  FBB::Mbuf  objects	will  throw an
	      FBB::Exception exception at the next completed  message,	other-
	      wise 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