1 #ifndef __JLANG__JSTRINGFACET__ 
    2 #define __JLANG__JSTRINGFACET__ 
   17 namespace JPP { 
using namespace JLANG; }
 
   27     public std::locale::facet
 
   31     static std::locale::id  
id;
 
   45       std::locale::facet(refs)
 
   72                             const std::ios_base&      format,
 
   73                             std::ios_base::iostate&   
result,
 
   74                             std::string&              buffer)
 const 
   90                             const std::ios_base& format,
 
   92                             const std::string&   buffer)
 const 
   94       return do_put(out, format, c, buffer);
 
  104     inline std::istream& 
ignore(std::istream& in)
 const 
  107         in.setstate(std::ios_base::eofbit);
 
  121     inline std::istream& 
getline(std::istream& in, 
 
  122                                  std::string&  buffer)
 const 
  126       ios_base::iostate state = in.rdstate();
 
  129         in.setstate(std::ios_base::eofbit);
 
  132       if (state != ios_base::goodbit && state != ios_base::eofbit) {
 
  147       static int i = std::ios_base::xalloc();
 
  166                                        const std::ios_base&      format,
 
  167                                        std::ios_base::iostate&   
result,
 
  168                                        std::string&              buffer)
 const 
  172       result = (ios_base::iostate) 0;  
 
  174       streamsize 
n = format.width();   
 
  177         n = numeric_limits<streamsize>::max();
 
  184         result |= ios_base::failbit;    
 
  185         result |= ios_base::eofbit;
 
  191         buffer.push_back(*i);
 
  193         for (++i, --
n; i != __end && 
n != 0; ++i, --
n) {
 
  194           buffer.push_back(*i);
 
  198           result |= ios_base::eofbit;
 
  216                                        const std::ios_base& format,
 
  218                                        const std::string&   buffer)
 const 
  222       if (format.flags() & ios_base::right) {
 
  223         for (streamsize i = buffer.size(); i < format.width(); ++i, ++out) {
 
  228       for (string::const_iterator i = buffer.begin(); i != buffer.end(); ++i, ++out) {
 
  232       if (format.flags() & ios_base::left) {
 
  233         for (streamsize i = buffer.size(); i < format.width(); ++i, ++out) {
 
  254       while (i != __end && *i != 
'\n') {
 
  258       while (i != __end && *i == 
'\n') {
 
  277                                            std::ios_base::iostate&   
result,
 
  278                                            std::string&              buffer)
 const 
  286         result |= ios_base::failbit;    
 
  287         result |= ios_base::eofbit;
 
  293         for ( ; i != __end && *i != 
'\n'; ++i) {
 
  294           buffer.push_back(*i);
 
Facet class to specify parsing of a JLANG::JString object.
 
JStringFacet(const JStringFacet &)
 
std::istream & ignore(std::istream &in) const
Ignore characters until next end of line.
 
virtual ostreambuf_iterator do_put(ostreambuf_iterator out, const std::ios_base &format, const char c, const std::string &buffer) const
Put string.
 
std::istreambuf_iterator< char, std::char_traits< char > > istreambuf_iterator
 
ostreambuf_iterator put(ostreambuf_iterator out, const std::ios_base &format, const char c, const std::string &buffer) const
Put string.
 
static std::locale::id id
 
istreambuf_iterator get(const istreambuf_iterator __begin, const istreambuf_iterator __end, const std::ios_base &format, std::ios_base::iostate &result, std::string &buffer) const
Get string.
 
static int getIndex()
Get index for stream associated facet data.
 
std::ostreambuf_iterator< char, std::char_traits< char > > ostreambuf_iterator
 
JStringFacet(std::size_t refs=0)
Constructor.
 
virtual JStringFacet * clone() const
Clone this facet.
 
virtual istreambuf_iterator do_get(const istreambuf_iterator __begin, const istreambuf_iterator __end, const std::ios_base &format, std::ios_base::iostate &result, std::string &buffer) const
Get string.
 
std::istream & getline(std::istream &in, std::string &buffer) const
Read characters until next end of line.
 
virtual istreambuf_iterator do_ignore(const istreambuf_iterator __begin, const istreambuf_iterator __end) const
Ignore characters until next end of line.
 
void operator=(const JStringFacet &)
 
virtual istreambuf_iterator do_getline(const istreambuf_iterator __begin, const istreambuf_iterator __end, std::ios_base::iostate &result, std::string &buffer) const
Read string.
 
Auxiliary classes and methods for language specific functionality.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).