5#ifndef NAVIGATION_NAVWRAPPER_H
6#define NAVIGATION_NAVWRAPPER_H
13template<
class NAVIMPL>
51 {
m_nav.fillToken(navToken); }
58 const std::any& parentParameter)
const
59 {
m_nav.fillToken(navToken, parentParameter); }
73 {
m_nav.putElement(pCont,pObj,oPar,sizeHint); }
79 {
m_nav.putElement(pCont,iObj,oPar,sizeHint); }
85 {
m_nav.insertElement(pCont,pObj,oPar,sizeHint); }
91 {
m_nav.insertElement(pCont,iObj,oPar,sizeHint); }
100 {
m_nav.reweight(pObj,oPar); }
104 {
m_nav.reweight(pCont,iObj,oPar); }
107 {
m_nav.reweight(oIter,oPar); }
111 {
return m_nav.remove(pObj); }
113 {
return m_nav.remove(pCont,iObj); }
118 {
return m_nav.contains(pObj); }
121 {
return m_nav.contains(pCont,iObj); }
130 virtual size_t size()
const {
return size_t(
m_nav.size()); }
134 {
return m_nav.getParameter(pObj); }
137 {
return m_nav.getParameter(pCont,iObj); }
139 {
return m_nav.getParameter(oIter); }
143 {
return m_nav.getContainer(pObj); }
147 {
return m_nav.getContainer(oIter); }
152 {
return m_nav.getIndex(pObj,iObj); }
157 {
return m_nav.getIndex(oIter,iObj); }
211 const std::any& )
const { };
virtual void fillToken(INavigationToken &, const std::any &) const
virtual ~NavWrapper()
Base class destructor.
NavWrapper()
Default constructor.
virtual void fillToken(INavigationToken &) const
{
bool getIndex(object_iter oIter, external_index_type &iObj) const
navimpl_t::object_iter object_iter
NAVIMPL navimpl_t
Publish navigation implementation type.
void insertElement(const container_type *pCont, external_index_type &iObj, const parameter_type &oPar=parameter_type(), size_t sizeHint=0)
Insert element into Navigable store.
bool getIndex(const constituent_type *pObj, external_index_type &iObj) const
navimpl_t::external_index_type external_index_type
NavWrapper(const navimpl_t &theNav)
Optional constructor: construct from Navigable.
parameter_type getParameter(const container_type *pCont, external_index_type &iObj) const
void putElement(const container_type *pCont, external_index_type &iObj, const parameter_type &oPar=parameter_type(), size_t sizeHint=0)
Add element to the Navigable store.
virtual ~NavWrapper()
Base class destructor.
virtual object_iter end() const
const container_type * getContainer(const constituent_type *pObj) const
navimpl_t::parameter_type parameter_type
virtual size_t size() const
bool contains(const container_type *pCont, external_index_type &iObj) const
navimpl_t::container_type container_type
{
bool remove(const constituent_type *pObj)
void putElement(const container_type *pCont, const constituent_type *pObj, const parameter_type &oPar=parameter_type(), size_t sizeHint=0)
Add element to Navigable store.
virtual void fillToken(INavigationToken &navToken) const
Visitor handler without relational parameter.
void reweight(const container_type *pCont, external_index_type &iObj, const parameter_type &oPar=parameter_type())
bool contains(const constituent_type *pObj) const
const navimpl_t & getNavImpl() const
virtual object_iter begin() const
parameter_type getParameter(const constituent_type *pObj) const
virtual void fillToken(INavigationToken &navToken, const std::any &parentParameter) const
Visitor handler including a relational parameter.
navimpl_t::constituent_type constituent_type
parameter_type getParameter(object_iter &oIter) const
const container_type * getContainer(object_iter oIter) const
void insertElement(const container_type *pCont, const constituent_type *pObj, const parameter_type &oPar=parameter_type(), size_t sizeHint=0)
Insert element into Navigable store.
void reweight(object_iter &oIter, const parameter_type &oPar=parameter_type())
bool remove(const container_type *pCont, external_index_type &iObj)
void reweight(const constituent_type *pObj, const parameter_type &oPar=parameter_type())
Dummy type needed fro specialized implementation.