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

FreeBSD Manual Pages

  
 
  

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::nu-
	      meric_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., Er-
	      ror). When throwing is specified as true an  FBB::Exception  ex-
	      ception  is thrown after completing a message. The generated ex-
	      ception 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 al-
	      ready 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 in-
	      serted.

       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 pa-
	      rameter. Following the reset all of the current object's parame-
	      ters 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 [Er-
	      ror].

       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  ex-
	      ception  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   li-
	      braries;

       o      libbobcat1-dev_3.25.01-x_*.deb:  debian  package holding the li-
	      braries, 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+12.1-RELEASE+and+Ports>

home | help