Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

Tagcoll::Tag Class Reference

Representation of a tag. More...

#include <Tag.h>

List of all members.

Public Member Functions

 Tag () throw ()
 Tag (const Tag &f) throw ()
 ~Tag () throw ()
Tagoperator= (const Tag &f) throw ()
bool operator== (const Tag &f) const throw ()
bool operator< (const Tag &f) const throw ()
 operator bool () const throw ()
Facet facet () const throw ()
const std::string & name () const throw ()
std::string fullname () const throw ()
const std::string & sdesc () const throw ()
const std::string & ldesc () const throw ()
const std::string & fulldata () const throw ()
void sdesc (const std::string &desc) throw ()
void ldesc (const std::string &desc) throw ()
void fulldata (const std::string &desc) throw ()

Protected Member Functions

 Tag (FacetImpl *facet, const std::string &name) throw ()

Protected Attributes

TagImpl * impl


Detailed Description

Representation of a tag.

Tagcoll::Tag represents a Tag with all its informations. It is implemented via a reference-counted smart pointer, so it can be passed around freely and efficiently without worrying for memory management issues. The class is normally instantiated via Facet::obtainTag:

    Tag mytag = facet.obtainTag("printable");
Tag can contain a "false" value, in which case using any of its methonds produce a null-pointer dereference segfault. The "null" tags are useful as "none" return values:
    Tag mytag = facet.getTag("printable");
    if (!mytag)
       throw ConsistencyCheckException("tag \"printable\" has not been defined");


Constructor & Destructor Documentation

Tag::Tag FacetImpl *  facet,
const std::string &  name
throw () [protected]
 

Tag::Tag  )  throw ()
 

Tag::Tag const Tag f  )  throw ()
 

Tag::~Tag  )  throw ()
 


Member Function Documentation

Facet Tag::facet  )  const throw ()
 

void Tag::fulldata const std::string &  desc  )  throw ()
 

const std::string & Tag::fulldata  )  const throw ()
 

std::string Tag::fullname  )  const throw ()
 

void Tag::ldesc const std::string &  desc  )  throw ()
 

const std::string & Tag::ldesc  )  const throw ()
 

const std::string & Tag::name  )  const throw ()
 

Tag::operator bool  )  const throw ()
 

bool Tag::operator< const Tag f  )  const throw ()
 

Tag & Tag::operator= const Tag f  )  throw ()
 

bool Tag::operator== const Tag f  )  const throw ()
 

void Tag::sdesc const std::string &  desc  )  throw ()
 

const std::string & Tag::sdesc  )  const throw ()
 


Member Data Documentation

TagImpl* Tagcoll::Tag::impl [protected]
 


The documentation for this class was generated from the following files:
Generated on Sun Aug 15 18:10:51 2004 for libtagcoll by doxygen 1.3.8