Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

VERSIONNUM Class Reference

#include <AsciiData.h>

Inheritance diagram for VERSIONNUM:

Tagged Tagged List of all members.

Public Member Functions

bool initialized () const
bool initialized () const
bool initialized () const
bool initialized () const
void set_initialized ()
void set_initialized ()
void set_initialized ()
void set_initialized ()
void unset_initalized ()
void unset_initalized ()
void unset_initalized ()
void unset_initalized ()
 VERSIONNUM ()
 VERSIONNUM ()

Public Attributes

int major
int minor

Protected Member Functions

void check_end_tag (std::istream &is, const char *tag)
void check_end_tag (std::istream &is, const char *tag)
void check_end_tag (std::istream &is, const char *tag)
void check_end_tag (std::istream &is, const char *tag)
void check_start_tag (std::istream &is, const char *tag)
void check_start_tag (std::istream &is, const char *tag)
void check_start_tag (std::istream &is, const char *tag)
void check_start_tag (std::istream &is, const char *tag)

Friends

std::ostreamoperator<< (std::ostream &, const VERSIONNUM &x)
std::ostreamoperator<< (std::ostream &, const VERSIONNUM &x)
std::istreamoperator>> (std::istream &, VERSIONNUM &x)
std::istreamoperator>> (std::istream &, VERSIONNUM &x)

Constructor & Destructor Documentation

VERSIONNUM::VERSIONNUM  )  [inline]
 

00014 {} ;

VERSIONNUM::VERSIONNUM  )  [inline]
 

00014 {} ;


Member Function Documentation

void Tagged::check_end_tag std::istream is,
const char *  tag
[protected, inherited]
 

void Tagged::check_end_tag std::istream is,
const char *  tag
[protected, inherited]
 

void Tagged::check_end_tag std::istream is,
const char *  tag
[protected, inherited]
 

void Tagged::check_end_tag std::istream is,
const char *  tag
[inline, protected, inherited]
 

00109 {
00110     char c; 
00111     is >> c;
00112     if(c != '}') 
00113         throw AsciiNoEndChar();
00114 
00115     std::string in_tag;
00116     is >> in_tag;
00117     if(in_tag != tag) 
00118         throw AsciiWrongEndTag(tag, in_tag);
00119 }

void Tagged::check_start_tag std::istream is,
const char *  tag
[protected, inherited]
 

void Tagged::check_start_tag std::istream is,
const char *  tag
[protected, inherited]
 

void Tagged::check_start_tag std::istream is,
const char *  tag
[protected, inherited]
 

void Tagged::check_start_tag std::istream is,
const char *  tag
[inline, protected, inherited]
 

00082 { 
00083     // read input, check for '{' character
00084     char c; 
00085     if(!(is >> c) || (c != '{')) {
00086         throw AsciiNoStartChar();
00087     }
00088 
00089     // compare tags
00090     std::string in_tag;
00091     is >> in_tag;
00092     if(in_tag != tag) 
00093       throw AsciiWrongStartTag(tag, in_tag);
00094 
00095     // check for empty block
00096     is >> c;
00097     if(c == '}') {
00098         is >> in_tag;
00099         if(in_tag != tag) 
00100             throw AsciiWrongEndTag(tag, in_tag);
00101     } else {
00102         is.putback(c); 
00103         set_initialized();
00104     }
00105 }

bool Tagged::initialized  )  const [inherited]
 

bool Tagged::initialized  )  const [inherited]
 

bool Tagged::initialized  )  const [inherited]
 

bool Tagged::initialized  )  const [inline, inherited]
 

00064 {
00065     return m_initialized;
00066 }

void Tagged::set_initialized  )  [inherited]
 

void Tagged::set_initialized  )  [inherited]
 

void Tagged::set_initialized  )  [inherited]
 

void Tagged::set_initialized  )  [inline, inherited]
 

00070 { 
00071     m_initialized = true; 
00072 }

void Tagged::unset_initalized  )  [inherited]
 

void Tagged::unset_initalized  )  [inherited]
 

void Tagged::unset_initalized  )  [inherited]
 

void Tagged::unset_initalized  )  [inline, inherited]
 

00076 { 
00077     m_initialized = false; 
00078 }


Friends And Related Function Documentation

std::ostream& operator<< std::ostream os,
const VERSIONNUM x
[friend]
 

00017 {
00018     os << std::endl << "{ VERSION" << std::endl;
00019     if(x.initialized()) {
00020     os << " " << x.major;
00021     os << " " << x.minor;
00022     }
00023     os << std::endl << "} VERSION" << std::endl;
00024     return os;
00025 }

std::ostream& operator<< std::ostream os,
const VERSIONNUM x
[friend]
 

00017 {
00018     os << std::endl << "{ VERSION" << std::endl;
00019     if(x.initialized()) {
00020     os << " " << x.major;
00021     os << " " << x.minor;
00022     }
00023     os << std::endl << "} VERSION" << std::endl;
00024     return os;
00025 }

std::istream& operator>> std::istream is,
VERSIONNUM x
[friend]
 

00007 {
00008     x.check_start_tag(is,"VERSION");
00009     if(!x.initialized()) return is;
00010     is >> x.major;
00011     is >> x.minor;
00012     x.check_end_tag(is, "VERSION");
00013     return is;
00014 }

std::istream& operator>> std::istream is,
VERSIONNUM x
[friend]
 

00007 {
00008     x.check_start_tag(is,"VERSION");
00009     if(!x.initialized()) return is;
00010     is >> x.major;
00011     is >> x.minor;
00012     x.check_end_tag(is, "VERSION");
00013     return is;
00014 }


Member Data Documentation

int VERSIONNUM::major
 

int VERSIONNUM::minor
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 19:13:23 2011 for BOSS6.5.5 by  doxygen 1.3.9.1