<
typenameKey>
86 template<
typenameValue,
typenameCompare>
96SValue* Next(
void)
const 107 typedef typenameTSet::iterator iterator;
108 typedef typenameTSet::const_iterator const_iterator;
109 typedefSValue* TForwardIterator;
111CLinkedSetBase(
void)
116: m_Set(comp), m_Start(0)
120 bool empty(
void)
const 125TForwardIterator ForwardBegin(
void)
const 129TForwardIterator ForwardEnd(
void)
const 134iterator begin(
void)
136 returnm_Set.begin();
144 returnm_Set.find(
value);
148 returnm_Set.lower_bound(
value);
151const_iterator begin(
void)
const 153 returnm_Set.begin();
155const_iterator end(
void)
const 159const_iterator find(
const Value&
value)
const 161 returnm_Set.find(
value);
163const_iterator lower_bound(
const Value&
value)
const 165 returnm_Set.lower_bound(
value);
174 voidinsertAfter(
constSValue& prevValue,
constSValue& newValue)
177newValue.m_Next = prevValue.m_Next;
178prevValue.m_Next = &newValue;
180 voidinsertToStart(
constSValue& newValue)
183newValue.m_Next = m_Start;
187 voidremoveAfter(
constSValue& prevValue,
constSValue&
value)
189prevValue.m_Next =
value.m_Next;
192 voidremoveFromStart(
constSValue&
value)
194m_Start =
value.m_Next;
202 template<
typenameMapped>
203 classCLinkedSet :
publicCLinkedSetBase<typename Mapped::key_type>
205 typedefCLinkedSetBase<typename Mapped::key_type> TParent;
208 typedef typenameTContainer::size_type size_type;
210 typedef typenameTContainer::iterator iterator;
211 typedef typenameTContainer::const_iterator const_iterator;
213size_type
size(
void)
const 215 returnm_Container.size();
224const_iterator begin(
void)
const 226 returnm_Container.begin();
228const_iterator end(
void)
const 230 returnm_Container.end();
234 returnm_Container.find(
value);
238 returnm_Container.lower_bound(
value);
242 returnm_Container.upper_bound(
value);
245iterator begin(
void)
247 returnm_Container.begin();
251 returnm_Container.end();
255 returnm_Container.find(
value);
259 returnm_Container.lower_bound(
value);
263 returnm_Container.upper_bound(
value);
268pair<iterator, bool> ins = m_Container.insert(
value);
270 if( ins.first == begin() )
271this->insertToStart(*ins.first);
273iterator
prev= ins.first;
274this->insertAfter(*--
prev, *ins.first);
280 voiderase(iterator iter)
282 if( iter == begin() )
283this->removeFromStart(*iter);
285iterator
prev= iter;
286this->removeAfter(*--
prev, *iter);
288m_Container.erase(iter);
292TContainer m_Container;
296 template<
typenameKey>
331prevValue.
m_Next= &newValue;
357 template<
typenameMapped>
424 if( iter ==
begin() )
435 if( iter ==
begin() )
449 #if defined(_RWSTD_VER) && !defined(_RWSTD_STRICT_ANSI)const_iterator begin() const
const_iterator upper_bound(const key_type &key) const
iterator insert(const value_type &val)
const_iterator end() const
parent_type::size_type size_type
parent_type::value_type value_type
parent_type::iterator iterator
const_iterator find(const key_type &key) const
const_iterator lower_bound(const key_type &key) const
parent_type::const_iterator const_iterator
Include a standard set of the NCBI C++ Toolkit most basic headers.
static DLIST_TYPE *DLIST_NAME() prev(DLIST_LIST_TYPE *list, DLIST_TYPE *item)
static DLIST_TYPE *DLIST_NAME() next(DLIST_LIST_TYPE *list, DLIST_TYPE *item)
const_iterator end(void) const
SLinkedSetValue(const key_type &key, value_type *next=0)
size_type size(void) const
TContainer::size_type size_type
TContainer::iterator iterator
const_iterator find(const value_type &value) const
const key_type & GetKey(void) const
value_type * GetNext(void)
iterator insert(const value_type &value)
const value_type * GetStart(void) const
bool operator<(const value_type &value) const
const value_type * GetNext(void) const
CLinkedMultisetBase(void)
void removeAfter(value_type &prevValue, value_type &value)
const_iterator upper_bound(const value_type &value) const
TContainer::value_type value_type
const_iterator begin(void) const
iterator find(const value_type &value)
value_type * GetStart(void)
TContainer::const_iterator const_iterator
void erase(iterator iter)
const_iterator lower_bound(const value_type &value) const
SLinkedSetValue< key_type > value_type
multiset< Mapped > TContainer
void removeFromStart(value_type &value)
void insertAfter(value_type &prevValue, value_type &newValue)
SLinkedSetValue< Key > value_type
void insertToStart(value_type &newValue)
iterator upper_bound(const value_type &value)
CLinkedMultisetBase< typename Mapped::key_type > TParent
static value_type & get(iterator iter)
iterator lower_bound(const value_type &value)
sequence::ECompare Compare(const CSeq_loc &loc1, const CSeq_loc &loc2, CScope *scope)
Returns the sequence::ECompare containment relationship between CSeq_locs.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
constexpr bool empty(list< Ts... >) noexcept
double value_type
The numeric datatype used by the parser.
const struct ncbi::grid::netcache::search::fields::SIZE size
const struct ncbi::grid::netcache::search::fields::KEY key
const GenericPointer< typename T::ValueType > T2 value
GenericValue< UTF8<> > Value
GenericValue with UTF8 encoding.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4