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 ()
Tag & operator= (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 Mon Aug 16 19:28:48 2004 for libtagcoll by doxygen 1.3.8