mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Data Structures | Namespaces | Functions
ADT.hpp File Reference
#include <algorithm>
#include <climits>
#include <cstdint>
#include <iostream>
#include <limits>
#include <memory>
#include <mutable/util/exception.hpp>
#include <mutable/util/fn.hpp>
#include <mutable/util/macro.hpp>
#include <mutable/util/malloc_allocator.hpp>
#include <sstream>
#include <string>
#include <type_traits>
#include <utility>
Include dependency graph for ADT.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  m::SmallBitset
 Implements a small and efficient set over integers in the range of 0 to 63 (including). More...
 
struct  m::SmallBitset::Proxy< C >
 A proxy to access single elements in SmallBitset. More...
 
struct  m::SmallBitset::iterator
 
struct  m::SmallBitset::reverse_iterator
 
struct  m::dyn_array< T >
 Implements an array of dynamic but fixed size. More...
 
struct  m::doubly_linked_list< T, Allocator >
 Implements a doubly-linked list with an overhead of just a single pointer per element. More...
 
struct  m::doubly_linked_list< T, Allocator >::node_type
 
struct  m::doubly_linked_list< T, Allocator >::the_iterator< C >
 
struct  m::range< It >
 
struct  m::projecting_iterator< It, ReturnType &(It), OwnsProjection >
 
struct  m::view< It, ReturnType &(It)>
 
struct  m::sorted_vector< T, Compare >
 A sorted list of elements. More...
 
struct  m::GospersHack
 Enumerate all subsets of size k based on superset of size n. More...
 
struct  m::SubsetEnumerator
 This class efficiently enumerates all subsets of a given size. More...
 

Namespaces

namespace  m
 

‍mutable namespace


 

Functions

SmallBitset m::least_subset (SmallBitset S)
 Returns the least subset of a given set, i.e. the set represented by the lowest 1 bit.
 
SmallBitset m::next_subset (SmallBitset subset, SmallBitset set)
 Returns the next subset of a given subset and `set.
 
template<typename It , typename Fn >
 m::projecting_iterator (It, Fn &&) -> projecting_iterator< It, std::invoke_result_t< Fn &&, It >(It)>
 
template<typename It , typename Fn >
 m::view (range< It >, Fn &&) -> view< It, std::invoke_result_t< Fn &&, It >(It)>
 
template<typename It , typename Fn >
 m::view (It, It, Fn &&) -> view< It, std::invoke_result_t< Fn &&, It >(It)>