Go to the documentation of this file.    1 #ifndef __JLANG__JEQUATIONFACET__ 
    2 #define __JLANG__JEQUATIONFACET__ 
   21 namespace JPP { 
using namespace JLANG; }
 
   69       return new JEquationFacet(static_cast<const JEquationParameters&>(*
this));
 
   85                             const std::ios_base&      format,
 
   86                             std::ios_base::iostate&   
result,
 
  103                             const std::ios_base& format,
 
  105                             const char           buffer)
 const 
  107       return do_put(out, format, c, buffer);
 
  118     const std::string 
getPrefix(
const std::string& prefix, 
const std::string& name)
 const 
  133     std::istream& 
pop(std::istream& in)
 const 
  136         for (
int c; (c = in.peek()) != EOF && 
isWhiteSpace((
char) c); ) { in.get(); }
 
  138       catch(
const std::exception& error) {};
 
  156                                        const std::ios_base&      format,
 
  157                                        std::ios_base::iostate&   
result,
 
  158                                        std::string&              buffer)
 const 
  162       result = (ios_base::iostate) 0;  
 
  164       streamsize 
n = format.width();   
 
  167         n = numeric_limits<streamsize>::max();
 
  178         result |= ios_base::failbit;    
 
  179         result |= ios_base::eofbit;
 
  185         result |= ios_base::failbit;    
 
  190         buffer.push_back(*i);
 
  196           buffer.push_back(*i);
 
  199           result |= ios_base::eofbit;
 
  219                                        const std::ios_base&      format,
 
  220                                        std::ios_base::iostate&   
result,
 
  225       result = (ios_base::iostate) 0;  
 
  235         result |= ios_base::failbit;    
 
  236         result |= ios_base::eofbit;
 
  240         result |= ios_base::failbit;    
 
  261                                        const std::ios_base& format,
 
  263                                        const std::string&   buffer)
 const 
  267       if (format.flags() & ios_base::right) {
 
  268         for (streamsize i = buffer.size(); i < format.width(); ++i, ++out) {
 
  273       for (string::const_iterator i = buffer.begin(); i != buffer.end(); ++i, ++out) {
 
  277       if (format.flags() & ios_base::left) {
 
  278         for (streamsize i = buffer.size(); i < format.width(); ++i, ++out) {
 
  297                                        const std::ios_base& format,
 
  299                                        const char           buffer)
 const 
  303       if (format.flags() & ios_base::right) {
 
  304         for (streamsize i = 1; i < format.width(); ++i, ++out) {
 
  312       if (format.flags() & ios_base::left) {
 
  313         for (streamsize i = 1; i < format.width(); ++i, ++out) {
 
  360                                            std::ios_base::iostate&   
result,
 
  361                                            std::string&              buffer)
 const 
  365       result = (ios_base::iostate) 0;  
 
  375         result |= ios_base::failbit;    
 
  376         result |= ios_base::eofbit;
 
  386         for (
int count = 0; i != __end && (count != 0 || !
isEndOfLine(*i)); ++i) {
 
  388           buffer.push_back(*i);
 
  450       if (has_facet<JEquationFacet>(out.getloc()))
 
  482     in.imbue(locale(in.getloc(), facet.
clone()));
 
  499     out.imbue(locale(out.getloc(), facet.
clone()));
 
  514     using namespace JLANG;
 
  516     if (has_facet<JEquationFacet>(out.getloc()))
 
  534     using namespace JLANG;
 
  536     if (has_facet<JEquationFacet>(out.getloc()))
 
  554     using namespace JLANG;
 
  556     if (has_facet<JEquationFacet>(out.getloc()))
 
  580     using namespace JLANG;
 
  582     if (has_facet<JEquationFacet>(out.getloc()))
 
  600     using namespace JLANG;
 
  602     if (has_facet<JEquationFacet>(out.getloc()))
 
 
friend std::ostream & operator<<(std::ostream &out, const JEndOfLine &eol)
Print end of line.
 
bool isEndOfLine(const char c) const
Test for end of line character.
 
static const JLANG::JEndOfLine end_of_line
Print end of line.
 
bool isSeparator(const char c) const
Test for separator character.
 
bool isDivision(const char c) const
Test for division character.
 
JEndOfLine()
Default constructor.
 
const JEndOfLine & operator()(const unsigned int i) const
Constructor.
 
const char getDefaultWhiteSpace() const
Get default white space character.
 
std::ostreambuf_iterator< char, std::char_traits< char > > ostreambuf_iterator
 
JEquationFacet(const JEquationParameters ¶meters)
Constructor.
 
std::ostream & white_space(std::ostream &out)
Print white space.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
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.
 
virtual ostreambuf_iterator do_put(ostreambuf_iterator out, const std::ios_base &format, const char c, const char buffer) const
Put character.
 
virtual istreambuf_iterator do_getline(const istreambuf_iterator __begin, const istreambuf_iterator __end, std::ios_base::iostate &result, std::string &buffer) const
Read string.
 
virtual JEquationFacet * clone() const
Clone this facet.
 
ostreambuf_iterator put(ostreambuf_iterator out, const std::ios_base &format, const char c, const char buffer) const
Put character.
 
Facet class to specify parsing of equations in currect locale (see class JLANG::JEquation).
 
bool isWhiteSpace(const char c) const
Test for white space character.
 
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.
 
istreambuf_iterator get(const istreambuf_iterator __begin, const istreambuf_iterator __end, const std::ios_base &format, std::ios_base::iostate &result, char &buffer) const
Get character.
 
ostreambuf_iterator put(ostreambuf_iterator out, const std::ios_base &format, const char c, const std::string &buffer) const
Put string.
 
bool isRightBracket(const char c) const
Test for right bracket character.
 
Auxiliary class for end of line.
 
std::istream & pop(std::istream &in) const
Pop white spaces.
 
const char getDefaultSeparator() const
Get default separator character.
 
JEquationFacet()
Default constructor.
 
virtual istreambuf_iterator do_get(const istreambuf_iterator __begin, const istreambuf_iterator __end, const std::ios_base &format, std::ios_base::iostate &result, char &buffer) const
Get character.
 
std::ostream & division(std::ostream &out)
Print division.
 
Simple data structure to support I/O of equations (see class JLANG::JEquation).
 
JLANG::JEquationFacet setequation
Type definition of stream manipulator for equational I/O.
 
std::ostream & right_bracket(std::ostream &out)
Print right bracket.
 
virtual ostreambuf_iterator do_put(ostreambuf_iterator out, const std::ios_base &format, const char c, const std::string &buffer) const
Put string.
 
std::ostream & separator(std::ostream &out)
Print separator.
 
void operator=(const JEquationFacet &)
 
std::ostream & left_bracket(std::ostream &out)
Print left bracket.
 
std::ostream & operator<<(std::ostream &out, const JLANG::JEquationFacet &facet)
Parse facet.
 
char getLeftBracket() const
Get left bracket.
 
std::istreambuf_iterator< char, std::char_traits< char > > istreambuf_iterator
 
const char getDefaultDivision() const
Get default division character.
 
Auxiliary classes and methods for language specific functionality.
 
bool isLeftBracket(const char c) const
Test for left bracket character.
 
const char getPreferredEndOfLine(const unsigned int index) const
Get preferred end of line character.
 
const std::string getPrefix(const std::string &prefix, const std::string &name) const
Get combined prefix for output.
 
Facet class to specify parsing of a JLANG::JString object.
 
char getRightBracket() const
Get right bracket.
 
std::istream & operator>>(std::istream &in, const JLANG::JEquationFacet &facet)
Parse facet.