#include <name.h>
Inheritance diagram for NameDatabase< OBJ >:

Public Types | |
| typedef std::map< std::string, uint32, CompareIgnoringCasePredicate > | NameIndex |
| typedef std::multimap< uint32, std::string > | NumberIndex |
Public Member Functions | |
| void | add (const uint32, const std::string &) |
| void | erase (const uint32) |
| uint32 | getCatalogNumberByName (const std::string &) const |
| std::vector< std::string > | getCompletion (const std::string &name) const |
| NumberIndex::const_iterator | getFinalNameIter () const |
| NumberIndex::const_iterator | getFirstNameIter (const uint32 catalogNumber) const |
| std::string | getNameByCatalogNumber (const uint32) const |
| uint32 | getNameCount () const |
| NameDatabase () | |
Protected Attributes | |
| NameIndex | nameIndex |
| NumberIndex | numberIndex |
|
|||||
|
|
|
|||||
|
|
|
|||||||||
|
Definition at line 34 of file name.h. 00034 {};
|
|
||||||||||||||||
|
Definition at line 67 of file name.h. References DPRINTF, NameDatabase< OBJ >::getCatalogNumberByName(), NameDatabase< OBJ >::nameIndex, and NameDatabase< OBJ >::numberIndex. Referenced by StarDatabase::load(), DSODatabase::load(), and StarNameDatabase::readNames(). 00068 {
00069 if (name.length() != 0)
00070 {
00071 #ifdef DEBUG
00072 uint32 tmp;
00073 if ((tmp = getCatalogNumberByName(name)) != OBJ::InvalidCatalogNumber)
00074 DPRINTF(2,"Duplicated name '%s' on object with catalog numbers: %d and %d\n", name.c_str(), tmp, catalogNumber);
00075 #endif
00076 // Add the new name
00077 //nameIndex.insert(NameIndex::value_type(name, catalogNumber));
00078
00079 nameIndex[name] = catalogNumber;
00080 numberIndex.insert(NumberIndex::value_type(catalogNumber, name));
00081 }
00082 }
|
|
||||||||||
|
Definition at line 86 of file name.h. References NameDatabase< OBJ >::numberIndex. Referenced by StarDatabase::load(), and DSODatabase::load(). 00087 {
00088 numberIndex.erase(catalogNumber);
00089 }
|
|
||||||||||
|
Definition at line 93 of file name.h. References NameDatabase< OBJ >::nameIndex. Referenced by NameDatabase< OBJ >::add(). 00094 {
00095 NameIndex::const_iterator iter = nameIndex.find(name);
00096
00097 if (iter == nameIndex.end())
00098 return OBJ::InvalidCatalogNumber;
00099 else
00100 return iter->second;
00101 }
|
|
||||||||||
|
Definition at line 153 of file name.h. References NameDatabase< OBJ >::nameIndex, and UTF8StringCompare(). Referenced by StarDatabase::getCompletion(), and DSODatabase::getCompletion(). 00154 {
00155 std::vector<std::string> completion;
00156 for (NameIndex::const_iterator iter = nameIndex.begin(); iter != nameIndex.end(); ++iter)
00157 {
00158 if (!UTF8StringCompare(iter->first, name, name.length()))
00159 {
00160 completion.push_back(iter->first);
00161 }
00162 }
00163 return completion;
00164 }
|
|
|||||||||
|
Definition at line 146 of file name.h. References NameDatabase< OBJ >::numberIndex. Referenced by DSODatabase::getDSOName(), DSODatabase::getDSONameList(), NameDatabase< OBJ >::getFirstNameIter(), StarDatabase::getStarName(), and StarDatabase::getStarNameList(). 00147 {
00148 return numberIndex.end();
00149 }
|
|
||||||||||
|
Definition at line 134 of file name.h. References NameDatabase< OBJ >::getFinalNameIter(), and NameDatabase< OBJ >::numberIndex. Referenced by DSODatabase::getDSOName(), DSODatabase::getDSONameList(), StarDatabase::getStarName(), and StarDatabase::getStarNameList(). 00135 {
00136 NumberIndex::const_iterator iter = numberIndex.lower_bound(catalogNumber);
00137
00138 if (iter == numberIndex.end() || iter->first != catalogNumber)
00139 return getFinalNameIter();
00140 else
00141 return iter;
00142 }
|
|
||||||||||
|
Definition at line 113 of file name.h. References NameDatabase< OBJ >::numberIndex. 00114 {
00115 if (catalogNumber == OBJ::InvalidCatalogNumber)
00116 return "";
00117
00118 NumberIndex::const_iterator iter = numberIndex.lower_bound(catalogNumber);
00119
00120 if (iter != numberIndex.end() && iter->first == catalogNumber)
00121 return iter->second;
00122 }
|
|
|||||||||
|
Definition at line 60 of file name.h. References NameDatabase< OBJ >::nameIndex. 00061 {
00062 return nameIndex.size();
00063 }
|
|
|||||
|
Definition at line 53 of file name.h. Referenced by NameDatabase< OBJ >::add(), NameDatabase< OBJ >::getCatalogNumberByName(), NameDatabase< OBJ >::getCompletion(), and NameDatabase< OBJ >::getNameCount(). |
|
|||||
|
Definition at line 54 of file name.h. Referenced by NameDatabase< OBJ >::add(), NameDatabase< OBJ >::erase(), NameDatabase< OBJ >::getFinalNameIter(), NameDatabase< OBJ >::getFirstNameIter(), and NameDatabase< OBJ >::getNameByCatalogNumber(). |
1.4.1