Lattice Land Core Library
Loading...
Searching...
No Matches
lala::Sort< Allocator > Struct Template Reference

#include <sort.hpp>

Public Types

enum  Tag { Bool , Int , Real , Set }
 
using allocator_type = Allocator
 
using this_type = Sort<allocator_type>
 

Public Member Functions

CUDA Sort (Tag tag)
 
CUDA NI Sort (Tag tag, Sort &&sub_ty, const allocator_type &alloc=allocator_type())
 
template<class Alloc2 >
CUDA NI Sort (const Sort< Alloc2 > &other, const allocator_type &alloc=allocator_type())
 
CUDA Sort (const this_type &other)
 
Sortoperator= (const this_type &other)=default
 
 Sort (Sort &&)=default
 
Sortoperator= (Sort &&)=default
 
CUDA bool is_bool () const
 
CUDA bool is_int () const
 
CUDA bool is_real () const
 
CUDA bool is_set () const
 
CUDA NI void print () const
 
template<class U >
CUDA NI void print_value (const U &u) const
 

Public Attributes

Tag tag
 
battery::unique_ptr< this_type, allocator_typesub
 

Detailed Description

template<class Allocator>
struct lala::Sort< Allocator >

The concrete type of variables, called sort, introduced by existential quantification. More concrete types could be added later.

Member Typedef Documentation

◆ allocator_type

template<class Allocator >
using lala::Sort< Allocator >::allocator_type = Allocator

◆ this_type

template<class Allocator >
using lala::Sort< Allocator >::this_type = Sort<allocator_type>

Member Enumeration Documentation

◆ Tag

template<class Allocator >
enum lala::Sort::Tag
Enumerator
Bool 
Int 
Real 
Set 

Constructor & Destructor Documentation

◆ Sort() [1/5]

template<class Allocator >
CUDA lala::Sort< Allocator >::Sort ( Tag tag)
inline

◆ Sort() [2/5]

template<class Allocator >
CUDA NI lala::Sort< Allocator >::Sort ( Tag tag,
Sort< Allocator > && sub_ty,
const allocator_type & alloc = allocator_type() )
inline

◆ Sort() [3/5]

template<class Allocator >
template<class Alloc2 >
CUDA NI lala::Sort< Allocator >::Sort ( const Sort< Alloc2 > & other,
const allocator_type & alloc = allocator_type() )
inline

◆ Sort() [4/5]

template<class Allocator >
CUDA lala::Sort< Allocator >::Sort ( const this_type & other)
inline

◆ Sort() [5/5]

template<class Allocator >
lala::Sort< Allocator >::Sort ( Sort< Allocator > && )
default

Member Function Documentation

◆ operator=() [1/2]

template<class Allocator >
Sort & lala::Sort< Allocator >::operator= ( const this_type & other)
default

◆ operator=() [2/2]

template<class Allocator >
Sort & lala::Sort< Allocator >::operator= ( Sort< Allocator > && )
default

◆ is_bool()

template<class Allocator >
CUDA bool lala::Sort< Allocator >::is_bool ( ) const
inline

◆ is_int()

template<class Allocator >
CUDA bool lala::Sort< Allocator >::is_int ( ) const
inline

◆ is_real()

template<class Allocator >
CUDA bool lala::Sort< Allocator >::is_real ( ) const
inline

◆ is_set()

template<class Allocator >
CUDA bool lala::Sort< Allocator >::is_set ( ) const
inline

◆ print()

template<class Allocator >
CUDA NI void lala::Sort< Allocator >::print ( ) const
inline

◆ print_value()

template<class Allocator >
template<class U >
CUDA NI void lala::Sort< Allocator >::print_value ( const U & u) const
inline

Member Data Documentation

◆ tag

template<class Allocator >
Tag lala::Sort< Allocator >::tag

◆ sub

template<class Allocator >
battery::unique_ptr<this_type, allocator_type> lala::Sort< Allocator >::sub

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