PrimaryKey
template<typename PrimaryKey, typename SecondaryKey>
template <typename PrimaryKey, typename SecondaryKey, typename Value,
inline TwoKeyAVLTreeKey(const PrimaryKey& primary,
typename PrimaryKey, typename PrimaryKeyCompare, \
#define TWO_KEY_AVL_TREE_CLASS_NAME TwoKeyAVLTree<Value, PrimaryKey, \
template<typename Value, typename PrimaryKey,
inline TwoKeyAVLTreeKey(const PrimaryKey* primary)
Value* FindFirst(const PrimaryKey& key,
Value* FindFirstClosest(const PrimaryKey& key,
Value* FindLast(const PrimaryKey& key,
inline Value* Find(const PrimaryKey& primaryKey,
inline status_t Remove(const PrimaryKey& primaryKey,
Node* _FindFirst(const PrimaryKey& key,
PrimaryKey primary;
template<typename PrimaryKey, typename SecondaryKey,
TWO_KEY_AVL_TREE_CLASS_NAME::FindFirst(const PrimaryKey& key,
TWO_KEY_AVL_TREE_CLASS_NAME::FindFirstClosest(const PrimaryKey& key, bool less,
TWO_KEY_AVL_TREE_CLASS_NAME::FindLast(const PrimaryKey& key,
TWO_KEY_AVL_TREE_CLASS_NAME::Find(const PrimaryKey& primaryKey,
TWO_KEY_AVL_TREE_CLASS_NAME::Remove(const PrimaryKey& primaryKey,
TWO_KEY_AVL_TREE_CLASS_NAME::_FindFirst(const PrimaryKey& key,
template<typename Value, typename PrimaryKey, typename SecondaryKey,
inline int operator()(const PrimaryKey &a,
const PrimaryKey &b) const
: public TwoKeyAVLTree<Attribute*, PrimaryKey, PrimaryKeyCompare,
: TwoKeyAVLTree<Attribute*, PrimaryKey, PrimaryKeyCompare,
PrimaryKey(attribute, oldKey, oldLength), attribute, &it);
found = fIndex->fAttributes->FindFirst(PrimaryKey(key, length),
PrimaryKey(Attribute *attribute, const uint8 *theKey,
PrimaryKey(const uint8 *theKey, size_t length)
inline PrimaryKey operator()(Attribute *a)
return PrimaryKey(a);
inline PrimaryKey operator()(Attribute *a) const
return PrimaryKey(a);
class PrimaryKey;
template<typename PrimaryKey, typename SecondaryKey>
template <typename PrimaryKey, typename SecondaryKey, typename Value,
inline TwoKeyAVLTreeKey(const PrimaryKey &primary,
typename PrimaryKey, typename PrimaryKeyCompare, \
#define TWO_KEY_AVL_TREE_CLASS_NAME TwoKeyAVLTree<Value, PrimaryKey, \
template<typename Value, typename PrimaryKey,
inline TwoKeyAVLTreeKey(const PrimaryKey *primary)
Value *FindFirst(const PrimaryKey &key, Iterator *iterator = NULL);
Value *FindLast(const PrimaryKey &key, Iterator *iterator = NULL);
inline Value *Find(const PrimaryKey &primaryKey,
inline status_t Remove(const PrimaryKey &primaryKey,
PrimaryKey primary;
template<typename PrimaryKey, typename SecondaryKey,
TWO_KEY_AVL_TREE_CLASS_NAME::FindFirst(const PrimaryKey &key,
TWO_KEY_AVL_TREE_CLASS_NAME::FindLast(const PrimaryKey &key,
TWO_KEY_AVL_TREE_CLASS_NAME::Find(const PrimaryKey &primaryKey,
TWO_KEY_AVL_TREE_CLASS_NAME::Remove(const PrimaryKey &primaryKey,
template<typename Value, typename PrimaryKey, typename SecondaryKey,