libept
Classes | Public Member Functions | Protected Member Functions | Protected Attributes
ept::debtags::Vocabulary Class Reference

#include <vocabulary.h>

Collaboration diagram for ept::debtags::Vocabulary:
Collaboration graph
[legend]

List of all members.

Classes

class  FacetIndex
class  TagIndex

Public Member Functions

 Vocabulary ()
 ~Vocabulary ()
time_t timestamp () const
 Get the timestamp of when the index was last updated.
bool hasData () const
 Return true if this data source has data, false if it's empty.
const FacetIndexfacetIndex () const
const TagIndextagIndex () const
bool hasFacet (const std::string &name) const
 Check if the vocabulary contains the facet `name'.
bool hasTag (const std::string &fullname) const
 Check if the vocabulary contains the tag `fullname'.
Facet facetByID (int id) const
 Return the facet with the given name.
Tag tagByID (int id) const
 Return the tag with the given full name.
template<typename IDS >
std::set< TagtagsByID (const IDS &ids) const
Facet facetByTag (int id) const
 Return the facet for the tag with the given ID.
Facet facetByName (const std::string &name) const
 Return the facet with the given name.
Tag tagByName (const std::string &fullname) const
 Return the tag with the given full name.
std::set< Facetfacets () const
 Return all the facets in the vocabulary.
std::set< Tagtags () const
 Return all the tags in the vocabulary.
std::set< Tagtags (int facet) const
 Return the tags in the given facet.
std::set< Tagtags (const std::string &facetName) const
std::set< Tagtags (const Facet &facet) const
std::string facetName (int id) const
 Get the facet name given the facet id.
std::string tagName (int id) const
 Get the tag name given the tag id.
std::string tagShortName (int id) const
 Get the tag name given the tag id.
const std::map< std::string,
std::string > & 
facetData (int id) const
const std::map< std::string,
std::string > & 
tagData (int id) const

Protected Member Functions

void parseVocBuf (std::map< std::string, std::string > &res, size_t ofs, size_t len) const

Protected Attributes

tagcoll::diskindex::MasterMMap mastermmap
time_t m_timestamp
std::string voc_fname
int voc_fd
size_t voc_size
const char * voc_buf
FacetIndex findex
TagIndex tindex
std::vector< std::map
< std::string, std::string > > 
m_facetData
std::vector< std::map
< std::string, std::string > > 
m_tagData
std::map< std::string,
std::string > 
emptyData

Constructor & Destructor Documentation

References voc_buf, voc_fd, and voc_size.


Member Function Documentation

Return the facet with the given name.

Referenced by facetByName(), facetByTag(), and facets().

Facet ept::debtags::Vocabulary::facetByName ( const std::string &  name) const [inline]

Return the facet with the given name.

References facetByID(), findex, and ept::debtags::Vocabulary::FacetIndex::id().

Facet ept::debtags::Vocabulary::facetByTag ( int  id) const [inline]

Return the facet for the tag with the given ID.

References ept::debtags::Vocabulary::TagIndex::facet(), facetByID(), and tindex.

Referenced by ept::debtags::Tag::facet().

const std::map< std::string, std::string > & ept::debtags::Vocabulary::facetData ( int  id) const

References findex.

std::string ept::debtags::Vocabulary::facetName ( int  id) const [inline]

Get the facet name given the facet id.

References findex, and ept::debtags::Vocabulary::FacetIndex::name().

Referenced by ept::debtags::Facet::name().

std::set< Facet > ept::debtags::Vocabulary::facets ( ) const [inline]

Return all the facets in the vocabulary.

References facetByID(), findex, and ept::debtags::Vocabulary::FacetIndex::size().

Referenced by TestVocabulary::_21().

bool ept::debtags::Vocabulary::hasData ( ) const [inline]

Return true if this data source has data, false if it's empty.

References m_timestamp.

Referenced by TestVocabulary::_21().

bool ept::debtags::Vocabulary::hasFacet ( const std::string &  name) const [inline]

Check if the vocabulary contains the facet `name'.

References findex, and ept::debtags::Vocabulary::FacetIndex::id().

bool ept::debtags::Vocabulary::hasTag ( const std::string &  fullname) const [inline]

Check if the vocabulary contains the tag `fullname'.

References ept::debtags::Vocabulary::TagIndex::id(), and tindex.

Referenced by ept::debtags::Facet::hasTag().

void ept::debtags::Vocabulary::parseVocBuf ( std::map< std::string, std::string > &  res,
size_t  ofs,
size_t  len 
) const [protected]

References voc_buf, and voc_fname.

Referenced by facetData(), and tagData().

Tag ept::debtags::Vocabulary::tagByName ( const std::string &  fullname) const [inline]
const std::map< std::string, std::string > & ept::debtags::Vocabulary::tagData ( int  id) const
const TagIndex& ept::debtags::Vocabulary::tagIndex ( ) const [inline]

References tindex.

std::string ept::debtags::Vocabulary::tagName ( int  id) const [inline]

Get the tag name given the tag id.

References ept::debtags::Vocabulary::TagIndex::name(), and tindex.

Referenced by ept::debtags::Tag::fullname().

std::set< Tag > ept::debtags::Vocabulary::tags ( ) const [inline]

Return all the tags in the vocabulary.

References ept::debtags::Vocabulary::TagIndex::size(), tagByID(), and tindex.

Referenced by TestVocabulary::_21(), ept::debtags::Facet::tags(), and tags().

std::set< Tag > ept::debtags::Vocabulary::tags ( int  facet) const [inline]
std::set< Tag > ept::debtags::Vocabulary::tags ( const std::string &  facetName) const [inline]
std::set< Tag > ept::debtags::Vocabulary::tags ( const Facet facet) const [inline]
template<typename IDS >
std::set<Tag> ept::debtags::Vocabulary::tagsByID ( const IDS &  ids) const [inline]
std::string ept::debtags::Vocabulary::tagShortName ( int  id) const

Get the tag name given the tag id.

References ept::debtags::Vocabulary::TagIndex::name(), and tindex.

Referenced by ept::debtags::Tag::name().

time_t ept::debtags::Vocabulary::timestamp ( ) const [inline]

Get the timestamp of when the index was last updated.

References m_timestamp.

Referenced by Vocabulary().


Member Data Documentation

std::map<std::string, std::string> ept::debtags::Vocabulary::emptyData [protected]

Referenced by facetData(), and tagData().

std::vector< std::map<std::string, std::string> > ept::debtags::Vocabulary::m_facetData [mutable, protected]

Referenced by facetData().

std::vector< std::map<std::string, std::string> > ept::debtags::Vocabulary::m_tagData [mutable, protected]

Referenced by tagData().

Referenced by hasData(), timestamp(), and Vocabulary().

tagcoll::diskindex::MasterMMap ept::debtags::Vocabulary::mastermmap [protected]

Referenced by Vocabulary().

const char* ept::debtags::Vocabulary::voc_buf [protected]

Referenced by Vocabulary(), and ~Vocabulary().

std::string ept::debtags::Vocabulary::voc_fname [protected]

Referenced by parseVocBuf(), and Vocabulary().

Referenced by Vocabulary(), and ~Vocabulary().


The documentation for this class was generated from the following files: