FBB::A2x(3bobcat)

πŸ’– FBB::A2x β€” ascii-to-x (anything) conversions πŸ’–

okay bestie, welcome to the 3bobcat manual page for FBB::A2x, aka the "Text to X convertor" and honestly? it's giving glow-up-from-a-string. 🌈


✨ NAME ✨

FBB::A2x β€” Objects performing ascii-to-x (anything) conversions πŸ¦‹


✨ SYNOPSIS ✨

#include <bobcat/a2x>

Linking option: -lbobcat


✨ DESCRIPTION ✨

so like, FBB::A2x objects are literally the C++ equivalent of the standard C++ string conversion functions β€” you know, stol, stoul, stod and the whole squad. Those standard C++ string functions are extremely useful and should probably be preferred over using the members of A2x objects. no cap. πŸ’…

but here's the slay: A2x offers additional benefits because it generalizes these functions to any type that can be extracted from an istream object. main character energy, honestly. πŸ‘‘


✨ NAMESPACE ✨

FBB

Every single constructor, member, and operator mentioned in this man-page lives in the namespace FBB. periodt. πŸŽ€


✨ INHERITS FROM ✨

std::istringstream

bestie really said "I contain multitudes (and a stringstream)". 🫢


✨ CONSTRUCTORS ✨

  • A2x() β€” constructs an empty A2x object. and like… no information can be converted from a thus constructed A2x object. it's giving empty. πŸ’€
  • A2x(char const *text) β€” this one 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. ✨
  • A2x(std::string const &str) β€” 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 and move constructors are available. lowkey iconic of them. πŸ¦‹


✨ STATIC MEMBER FUNCTION ✨

  • bool lastFail() β€” returns true if the last conversion failed (i.e., the object's fail() member returned true, and false otherwise). This member allows checks on the success of the extraction/conversion using anonymous A2x objects β€” sneaky and efficient, we love that. πŸ‘‘

it also returns true when no conversions have as yet been performed. πŸ‘€

heads up!! this member returns the value of a thread_local static member: different threads cannot inspect other threads' lastFail status. it's giving ✨personal space✨. no cross-thread snooping.

✨ MEMBER FUNCTION ✨

All members of the istringstream class are available β€” you inherit the whole closet, bestie. πŸ‘—

  • Type to() β€” returns any type Type supporting extractions from i[string]streams. If the extraction fails, the A2x object's good() member returns false, and the Type's default value is returned. This operator was implemented as a template member function. πŸ”₯

there's also a type conversion operator available (peep 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 ✨

  • operator Type() β€” conversion to any type Type supporting extractions from istreams. 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 member template. ✨
  • istream &operator>>(istream &, Type &) β€” extraction to any type Type supporting extractions from istreams. If the extraction fails, the A2x object's good() member returns 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 πŸ’…)
  • A2x &operator=(char const *) β€” stores new text in the A2x object, resets the status flags to ios::good. 🫢 and if a 0-pointer is passed, an empty string is stored. noted.
  • 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. clean slate vibes. 🌸

The overloaded assignment operator is available.


✨ EXAMPLE ✨

okay watch this, fr fr:

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;

it ate and left no crumbs. πŸ”₯


✨ FILES ✨

  • bobcat/a2x β€” defines the class interface

✨ SEE ALSO ✨

bobcat(7), x2a(3bobcat)

the whole friend group 🫢


✨ BUGS ✨

None Reported. we're flawless, your honor. πŸ‘‘


✨ BOBCAT PROJECT FILES ✨

Debian Bobcat project files:

  • libbobcat6: debian package containing the shared library, changelog and copyright note;
  • libbobcat-dev: debian package containing the static library, headers, manual pages, and developer info;

✨ 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).


and that's the whole vibe, bestie β€” this was libbobcat-dev_6.15.01, dated 2005-2026. ty for coming to my ted talk, mwah πŸ’‹πŸŽ€βœ¨

πŸ“¦ where this page comes from