CLRX  1
An unofficial OpenCL extensions designed for Radeon GPUs
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
CLRX::DTree< K, T, Comp, KeyOfVal, AT >::Node0 Struct Reference
Inheritance diagram for CLRX::DTree< K, T, Comp, KeyOfVal, AT >::Node0:
CLRX::DTree< K, T, Comp, KeyOfVal, AT >::NodeBase

Public Member Functions

 Node0 (const Node0 &node)
 
 Node0 (Node0 &&node) noexcept
 
Node0operator= (const Node0 &node)
 copying assignment
 
Node0operator= (Node0 &&node) noexcept
 moving assigment
 
const Node1parent () const
 get parent node
 
Node1parent ()
 get parent node
 
const AT & operator[] (cxuint i) const
 
AT & operator[] (cxuint i)
 
cxuint lower_boundFree (const K &k, const Comp &comp, const KeyOfVal &kofval) const
 get lower_bound (first index of element not less than value)
 
cxuint lower_bound (const K &k, const Comp &comp, const KeyOfVal &kofval) const
 get lower_bound (first index of element not less than value)
 
cxuint upper_bound (const K &k, const Comp &comp, const KeyOfVal &kofval) const
 get upper_bound (first index of element greater than value)
 
cxuint find (const K &k, const Comp &comp, const KeyOfVal &kofval) const
 get lower_bound (first index of element not less than value)
 
void setFromArray (cxuint size, const AT *input)
 
void allocate (cxuint size)
 
void assignArray (AT &toFill, cxuint inSize, cxuint &index, cxuint &pos, const AT *array, uint64_t inBitMask, size_t newSize, cxuint &k, cxuint &factor)
 
void merge (const Node0 &node2)
 merge this node with node2
 
void split (Node0 &node2)
 split this node and store in this node and node2
 
void resize (cxint extraSize)
 simple resize
 
std::pair< cxuint, bool > insert (const T &v, const Comp &comp, const KeyOfVal &kofval)
 insert element
 
bool erase (cxuint index)
 erase element in index
 
bool erase (const K &k, const Comp &comp, const KeyOfVal &kofval)
 erase element of value v
 
- Public Member Functions inherited from CLRX::DTree< K, T, Comp, KeyOfVal, AT >::NodeBase
 NodeBase (cxbyte _type)
 

Static Public Member Functions

static void organizeArray (AT &toFill, cxuint &i, cxuint size, const AT *array, uint64_t inBitMask, cxuint &k, cxuint newSize, AT *out, uint64_t &outBitMask, cxuint &factor, cxuint finc)
 internal routine to organize array with empty holes
 

Public Attributes

cxbyte index
 
cxbyte size
 
cxbyte capacity
 
cxbyte firstPos
 
uint64_t bitMask
 
union {
   AT *   array
 
   T *   arrayOut
 
}; 
 
- Public Attributes inherited from CLRX::DTree< K, T, Comp, KeyOfVal, AT >::NodeBase
cxbyte type
 

The documentation for this struct was generated from the following file: