bionic (3) a2x.3bobcat.gz

Provided by: libbobcat-dev_4.08.02-2build1_amd64 bug

NAME

       FBB::A2x - Objects performing ascii-to-x (anything) conversions

SYNOPSIS

       #include <bobcat/a2x>
       Linking option: -lbobcat

DESCRIPTION

       FBB::A2x  objects  offer  the  C++  equivalent  of  the standard C conversion functions atoi(3), atol(3),
       atof(3) etc.  A2x objects generalize these C functions to any type that can be extracted from an  istream
       object.  Since  FBB::A2x represents the object-variant of the C functions, and is therefore type-safe and
       extensible, their use is greatly preferred over using the standard C functions.

       Conversions to most standard numeric types is also available through functions like std::stol, std::stod,
       etc.

NAMESPACE

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

INHERITS FROM

       std::istringstream

CONSTRUCTORS

       o      A2x():
              This  constructor  constructs  an  empty  A2x object. No information can be converted from a  thus
              constructed A2x object.

       o      A2x(char const *text):
              This constructor stores text. If text represents a textual value of some type, the A2x object  may
              be  used  to  initialize  or  assign this value to a variable of that particular type. Extraction,
              however is also still possible.

       o      A2x(std::string const &str):
              This constructor stores the text contained in str. If this text represents a textual value of some
              type,  the  A2x  object  may  be  used  to  initialize  or assign this value to a variable of that
              particular type. Extraction is also still possible.  The copy constructor is available.

STATIC MEMBER FUNCTION

       o      bool lastFail():
              This member returns true if the last conversion failed (i.e., the object’s fail() member  returned
              true   and   returns  false  otherwise).   This  member  allows  checks  on  the  success  of  the
              extraction/conversion  using  anonymous  A2x  objects.  The  member  also  returns  true  when  no
              conversions have as yet been performed.
              Note  that  this  member is a thread-unsafe static member: in a multithreaded program locks may be
              required to ensure that the proper conversion result is inspected.

MEMBER FUNCTION

       All members of the istringstream class are available.

       o      Type to():
              This member returns any type Type supporting extractions from i[string]streams. If the  extraction
              fails, the A2x object’s good() member will return false, and the Type’s default value is returned.
              This operator was implemented as a template member function.  There  is  also  a  type  conversion
              operator  available  (see  below),  but  the  member  function  variant  may be preferred over the
              conversion operator in situations where explicit disambiguation is required (e.g., in cases  where
              a conversion has no obvious type solution such as direct insertions) An example is provided in the
              EXAMPLE section below.

OVERLOADED OPERATORS

       o      operator Type():
              Conversion to any type Type supporting extractions from i[string]streams. If the extraction fails,
              the  A2x  object’s good() member will return false, and the Type’s default value is returned. This
              operator was implemented as a template member function.

       o      istream &operator>>(istream &, Type &):
              Extraction to any type Type supporting extractions from i[string]streams. If the extraction fails,
              the  A2x  object’s good() member will return false, and the Type’s default value is returned (this
              facility is implied by the fact that this class inherits from  istringstream,  but  it’s  probably
              useful to stress that the extraction operation is still available).

       o      A2x &operator=(char const *):
              Stores new text in the A2x object, resets the status flags to ios::good. If a 0-pointer is passed,
              an empty string is stored.

       o      A2x &operator=(std::string const &):
              Stores the text stored in the std::string argument in the A2x object, resets the status  flags  to
              ios::good.

       o      A2x &operator=(A2x const &):
              The standard overloaded assignment operator is available

EXAMPLE

           int x = A2x("12");

           A2x a2x("12.50");

           double d;

           d = a2x;

           a2x = "err";

           d = a2x;        // d now 0

           a2x = " a";

           char c = a2x;   // c now ’a’

                           // explicit conversion to `double’
           cout << A2x("12.4").to<double>() << endl;

FILES

       bobcat/a2x - defines the class interface

SEE ALSO

       bobcat(7), x2a(3bobcat), atoi(3), atol(3), atof(3), strtod(3), strtol(3), strdoul(3)

BUGS

       None Reported.

DISTRIBUTION FILES

       o      bobcat_4.08.02-x.dsc: detached signature;

       o      bobcat_4.08.02-x.tar.gz: source archive;

       o      bobcat_4.08.02-x_i386.changes: change log;

       o      libbobcat1_4.08.02-x_*.deb: debian package holding the libraries;

       o      libbobcat1-dev_4.08.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’.

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

AUTHOR

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