50 template<
class CharSeq>
57 char const space =
' ';
59 if (len == std::string::npos) {
63 for ( ; ndx < len; ++ndx, ++chew) {
64 if (!last_ch && isspace(*chew)) {
71 chew.
atoff(1) ==
'\r' &&
72 chew.
atoff(2) ==
'\n') {
76 }
else if (ndx + 1 < len && chew.
atoff(1) ==
'\n') {
82 citable.append(1,*chew);
91 chew.
atoff(1) ==
'\n') {
95 if (last_ch != space) {
96 citable.append(1,space);
103 if (last_ch != space) {
104 citable.append(1,space);
109 if (isprint(*chew)) {
110 citable.append(1,*chew);
116 ndx = citable.length();
118 while (ndx-- > 0 && isspace(citable[ndx])) {}
119 citable.resize(ndx + 1);
137 switch(integ.
type()) {
139 return to_string((
int)integ.
raw());
141 return to_string((
unsigned)integ.
raw());
143 return to_string((
long)integ.
raw());
145 return to_string((
unsigned long)integ.
raw());
147 return to_string((
long long)integ.
raw());
149 return to_string((
unsigned long long)integ.
raw());
template struct traits::is_random_access_char_sequence<T> exports a static const boolean member value...
unsigned long long raw() const
Get the bits comprising the integer as an unsigned long long
Class integer encapsulates an integer of some type.
std::string citable(chewer< std::string > &chew, size_t len=std::string::npos)
Make a citable version of length-delimited text.
size_t remaining() const
Get the remaining length of the associated sequence_type from the scanning position.
chew_mode::greyspace const greyspace
An exemplar chew_mode::greyspace
integer_type type() const
Get the type of the integer
`template struct chewer<CharSeq> is a cursor-like type that is associated with a character-sequence t...
char_type atoff(ptrdiff_t off) const
Get the character at an offset from the scanning position.