#include <ncbireg.hpp>
Inheritance diagram for CCompoundRegistry:


Prioritized read-only collection of sub-registries.
Definition at line 510 of file ncbireg.hpp.
Public Types | |
| typedef int | TPriority |
| Not restricted to ePriority_*. | |
| enum | EPriority { ePriority_Min = kMin_Int, ePriority_Default = 0, ePriority_Max = kMax_Int } |
| Priority for sub-registries; entries in higher-priority sub-registries take precedence over (identically named) entries in lower-priority ones. More... | |
Public Member Functions | |
| CCompoundRegistry () | |
| void | Add (const IRegistry ®, TPriority prio=ePriority_Default, const string &name=kEmptyStr) |
| Non-empty names must be unique within each compound registry, but there is no limit to the number of anonymous sub-registries. | |
| void | Remove (const IRegistry ®) |
| Remove sub-registry "reg". | |
| TPriority | GetCoreCutoff (void) const |
| Subregistries whose priority is less than the core cutoff (ePriority_Default by default) will be ignored for fJustCore operations, such as Write by default. | |
| void | SetCoreCutoff (TPriority prio) |
| CConstRef< IRegistry > | FindByName (const string &name) const |
| Return a pointer to the sub-registry with the given name, or NULL if not found. | |
| CConstRef< IRegistry > | FindByContents (const string §ion, const string &entry=kEmptyStr, TFlags flags=0) const |
| Return a pointer to the highest-priority sub-registry with a section named SECTION containing (if ENTRY is non-empty) an entry named ENTRY, or NULL if not found. | |
Protected Member Functions | |
| bool | x_Empty (TFlags flags) const |
| True iff all sub-registries are empty. | |
| bool | x_Modified (TFlags flags) const |
| True iff any sub-registry is modified. | |
| void | x_SetModifiedFlag (bool modified, TFlags flags) |
| const string & | x_Get (const string §ion, const string &name, TFlags flags) const |
| bool | x_HasEntry (const string §ion, const string &name, TFlags flags) const |
| const string & | x_GetComment (const string §ion, const string &name, TFlags flags) const |
| void | x_Enumerate (const string §ion, list< string > &entries, TFlags flags) const |
| void | x_ChildLockAction (FLockAction action) |
Private Types | |
| typedef multimap< TPriority, CRef< IRegistry > > | TPriorityMap |
| typedef map< string, CRef< IRegistry > > | TNameMap |
Private Attributes | |
| TPriorityMap | m_PriorityMap |
| TNameMap | m_NameMap |
| excludes anonymous sub-registries | |
| TPriority | m_CoreCutoff |
Friends | |
| class | CCompoundRWRegistry |
|
|
Definition at line 581 of file ncbireg.hpp. |
|
|
Not restricted to ePriority_*.
Definition at line 528 of file ncbireg.hpp. |
|
|
Definition at line 580 of file ncbireg.hpp. |
|
|
Priority for sub-registries; entries in higher-priority sub-registries take precedence over (identically named) entries in lower-priority ones. Ties are broken arbitrarily. Definition at line 523 of file ncbireg.hpp. |
|
|
Definition at line 513 of file ncbireg.hpp. |
|
||||||||||||||||
|
Non-empty names must be unique within each compound registry, but there is no limit to the number of anonymous sub-registries. Sub-registries themselves may not (directly) appear more than once. Definition at line 976 of file ncbireg.cpp. References multimap_checker< Container >::insert(), m_NameMap, m_PriorityMap, and NCBI_THROW2. |
|
||||||||||||||||
|
Return a pointer to the highest-priority sub-registry with a section named SECTION containing (if ENTRY is non-empty) an entry named ENTRY, or NULL if not found.
Definition at line 1025 of file ncbireg.cpp. References IRegistry::fJustCore, m_PriorityMap, and REVERSE_ITERATE. Referenced by x_Get(), and x_HasEntry(). |
|
|
Return a pointer to the sub-registry with the given name, or NULL if not found.
Definition at line 1018 of file ncbireg.cpp. References map_checker< Container >::end(), map_checker< Container >::find(), and m_NameMap. |
|
|
Subregistries whose priority is less than the core cutoff (ePriority_Default by default) will be ignored for fJustCore operations, such as Write by default.
Definition at line 544 of file ncbireg.hpp. References m_CoreCutoff. |
|
|
Remove sub-registry "reg". Throw an exception if "reg" is not a (direct) sub-registry. Definition at line 997 of file ncbireg.cpp. References multimap_checker< Container >::erase(), map_checker< Container >::erase(), m_NameMap, m_PriorityMap, NCBI_THROW2, and NON_CONST_ITERATE. |
|
|
Definition at line 545 of file ncbireg.hpp. References m_CoreCutoff. |
|
|
Definition at line 1136 of file ncbireg.cpp. References m_PriorityMap, and NON_CONST_ITERATE. |
|
|
True iff all sub-registries are empty.
Definition at line 1039 of file ncbireg.cpp. References IRegistry::fJustCore, m_CoreCutoff, m_PriorityMap, and REVERSE_ITERATE. |
|
||||||||||||||||
|
Definition at line 1116 of file ncbireg.cpp. References IRegistry::fJustCore, set< Key, Compare >::insert(), ITERATE, m_CoreCutoff, m_PriorityMap, and REVERSE_ITERATE. |
|
||||||||||||||||
|
Definition at line 1080 of file ncbireg.cpp. References FindByContents(), IRegistry::fJustCore, and kEmptyStr. |
|
||||||||||||||||
|
Definition at line 1097 of file ncbireg.cpp. References multimap_checker< Container >::empty(), kEmptyStr, and m_PriorityMap. |
|
||||||||||||||||
|
Definition at line 1090 of file ncbireg.cpp. References FindByContents(). |
|
|
True iff any sub-registry is modified.
Definition at line 1053 of file ncbireg.cpp. References IRegistry::fJustCore, m_CoreCutoff, m_PriorityMap, and REVERSE_ITERATE. |
|
||||||||||||
|
Definition at line 1067 of file ncbireg.cpp. References _ASSERT, IRegistry::fJustCore, m_CoreCutoff, and m_PriorityMap. |
|
|
Definition at line 587 of file ncbireg.hpp. |
|
|
Definition at line 585 of file ncbireg.hpp. Referenced by GetCoreCutoff(), SetCoreCutoff(), x_Empty(), x_Enumerate(), x_Modified(), and x_SetModifiedFlag(). |
|
|
excludes anonymous sub-registries
Definition at line 584 of file ncbireg.hpp. Referenced by Add(), FindByName(), and Remove(). |
|
|
Definition at line 583 of file ncbireg.hpp. Referenced by Add(), FindByContents(), Remove(), x_ChildLockAction(), x_Empty(), x_Enumerate(), x_GetComment(), x_Modified(), and x_SetModifiedFlag(). |
1.4.6
Modified on Mon Dec 07 16:22:52 2009 by modify_doxy.py rev. 173732