souffle  2.0.2-371-g6315b36
Data Structures | Public Types | Public Member Functions | Static Public Attributes | Protected Attributes
souffle::interpreter::Index< 0, Structure > Class Template Reference

A partial specialize template for nullary indexes. More...

#include <Index.h>

Collaboration diagram for souffle::interpreter::Index< 0, Structure >:
Collaboration graph

Data Structures

class  iterator
 
struct  View
 

Public Types

using Tuple = typename souffle::Tuple< RamDomain, 0 >
 

Public Member Functions

iterator begin () const
 
void clear ()
 
bool contains (const Tuple &) const
 
bool contains (const Tuple &, const Tuple &) const
 
View createView ()
 
bool empty () const
 
iterator end () const
 
Order getOrder () const
 
 Index (Order)
 
void insert (const Index &src)
 
bool insert (const Tuple &)
 
std::vector< souffle::range< iterator > > partitionRange (const Tuple &, const Tuple &, int) const
 
std::vector< souffle::range< iterator > > partitionScan (int) const
 
souffle::range< iterator > range (const Tuple &, const Tuple &) const
 
souffle::range< iterator > scan () const
 
size_t size () const
 

Static Public Attributes

static constexpr size_t Arity = 0
 

Protected Attributes

std::atomic< bool > data {false}
 

Detailed Description

template<template< size_t > typename Structure>
class souffle::interpreter::Index< 0, Structure >

A partial specialize template for nullary indexes.

No complex data structure is required.

Definition at line 317 of file Index.h.

Member Typedef Documentation

◆ Tuple

template<template< size_t > typename Structure>
using souffle::interpreter::Index< 0, Structure >::Tuple = typename souffle::Tuple<RamDomain, 0>

Definition at line 320 of file Index.h.

Constructor & Destructor Documentation

◆ Index()

template<template< size_t > typename Structure>
souffle::interpreter::Index< 0, Structure >::Index ( Order  )
inline

Definition at line 327 of file Index.h.

328 :
329  iterator(bool v = false) : value(v) {}

Member Function Documentation

◆ begin()

template<template< size_t > typename Structure>
iterator souffle::interpreter::Index< 0, Structure >::begin ( ) const
inline

Definition at line 357 of file Index.h.

359  : public ViewWrapper {

◆ clear()

template<template< size_t > typename Structure>
void souffle::interpreter::Index< 0, Structure >::clear ( )
inline

Definition at line 436 of file Index.h.

438  : public interpreter::Index<2, Eqrel> {

◆ contains() [1/2]

template<template< size_t > typename Structure>
bool souffle::interpreter::Index< 0, Structure >::contains ( const Tuple ) const
inline

Definition at line 409 of file Index.h.

411  {

◆ contains() [2/2]

template<template< size_t > typename Structure>
bool souffle::interpreter::Index< 0, Structure >::contains ( const Tuple ,
const Tuple  
) const
inline

Definition at line 413 of file Index.h.

415  {

◆ createView()

template<template< size_t > typename Structure>
View souffle::interpreter::Index< 0, Structure >::createView ( )
inline

Definition at line 385 of file Index.h.

387  {

◆ empty()

template<template< size_t > typename Structure>
bool souffle::interpreter::Index< 0, Structure >::empty ( ) const
inline

Definition at line 393 of file Index.h.

395  {

◆ end()

template<template< size_t > typename Structure>
iterator souffle::interpreter::Index< 0, Structure >::end ( ) const
inline

Definition at line 360 of file Index.h.

362  :
363  View(const std::atomic<bool>& data) : data(data) {}

◆ getOrder()

template<template< size_t > typename Structure>
Order souffle::interpreter::Index< 0, Structure >::getOrder ( ) const
inline

Definition at line 389 of file Index.h.

391  {

◆ insert() [1/2]

template<template< size_t > typename Structure>
void souffle::interpreter::Index< 0, Structure >::insert ( const Index< 0, Structure > &  src)
inline

Definition at line 405 of file Index.h.

407  {

◆ insert() [2/2]

template<template< size_t > typename Structure>
bool souffle::interpreter::Index< 0, Structure >::insert ( const Tuple )
inline

Definition at line 401 of file Index.h.

403  {

◆ partitionRange()

template<template< size_t > typename Structure>
std::vector<souffle::range<iterator> > souffle::interpreter::Index< 0, Structure >::partitionRange ( const Tuple ,
const Tuple ,
int   
) const
inline

Definition at line 431 of file Index.h.

438  : public interpreter::Index<2, Eqrel> {

◆ partitionScan()

template<template< size_t > typename Structure>
std::vector<souffle::range<iterator> > souffle::interpreter::Index< 0, Structure >::partitionScan ( int  ) const
inline

Definition at line 425 of file Index.h.

426  {
427  return this->partitionScan(0);
428  }
429 

References souffle::interpreter::Index< _Arity, Structure >::partitionScan().

Here is the call graph for this function:

◆ range()

template<template< size_t > typename Structure>
souffle::range<iterator> souffle::interpreter::Index< 0, Structure >::range ( const Tuple ,
const Tuple  
) const
inline

Definition at line 421 of file Index.h.

◆ scan()

template<template< size_t > typename Structure>
souffle::range<iterator> souffle::interpreter::Index< 0, Structure >::scan ( ) const
inline

Definition at line 417 of file Index.h.

419  {

◆ size()

template<template< size_t > typename Structure>
size_t souffle::interpreter::Index< 0, Structure >::size ( ) const
inline

Definition at line 397 of file Index.h.

399  {

Field Documentation

◆ Arity

template<template< size_t > typename Structure>
constexpr size_t souffle::interpreter::Index< 0, Structure >::Arity = 0
staticconstexpr

Definition at line 319 of file Index.h.

◆ data

template<template< size_t > typename Structure>
std::atomic<bool> souffle::interpreter::Index< 0, Structure >::data {false}
protected

Definition at line 324 of file Index.h.


The documentation for this class was generated from the following file:
souffle::interpreter::Index< 0, Structure >::data
std::atomic< bool > data
Definition: Index.h:324
souffle::interpreter::Index< 0, Structure >::partitionScan
std::vector< souffle::range< iterator > > partitionScan(int) const
Definition: Index.h:425