Analytics Template Library
 All Classes Namespaces Functions Variables Pages
Classes | Public Types | Public Member Functions | List of all members
rs::LazyFlatSet< Value, Less, Equal, Sort, Alloc, IsPointer > Class Template Reference

Classes

struct  is_pointer
 
struct  is_shared_ptr
 
struct  is_shared_ptr< std::shared_ptr< T > >
 

Public Types

using base_collection = typename std::vector< Value, Alloc >
 
using size_type = typename base_collection::size_type
 
using iterator = typename base_collection::iterator
 
using const_iterator = typename base_collection::const_iterator
 
using value_type = Value
 
using value_type_ptr = typename std::conditional< is_pointer< value_type >::value, value_type, value_type * >::type
 
using reference = typename std::conditional< std::is_fundamental< value_type >::value||std::is_pointer< value_type >::value, value_type, value_type & >::type
 
using const_reference = typename std::conditional< std::is_fundamental< value_type >::value||std::is_pointer< value_type >::value, value_type, const value_type & >::type
 
using less_type = Less
 
using equal_type = Equal
 
using sort_type = Sort
 
using alloc_type = Alloc
 
using compare_type = typename std::function< int(const_reference)>
 
using erase_type = typename std::function< void(reference)>
 

Public Member Functions

 LazyFlatSet (unsigned maxUnsortedEntries=16, unsigned maxNurseryEntries=1024)
 
void insert (const value_type &k)
 
template<typename... Args>
void emplace (Args &&...args)
 
bool empty () const
 
void clear ()
 
void clear_fn (erase_type erase)
 
void reserve (size_type n)
 
size_type size () const
 
void shrink_to_fit ()
 
size_type count (const value_type &k) const
 
size_type count_fn (compare_type compare) const
 
bool find (const value_type &k, value_type &v) const
 
value_type_ptr find_fn (compare_type compare) const
 
const_reference operator[] (size_type n) const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
const value_type * data () const
 
size_type erase (const value_type &k)
 
size_type erase_fn (compare_type compare, erase_type erase=nullptr)
 
void copy (std::vector< Value > &coll, bool sort=true) const
 

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