Lattice land propagators completion library
Loading...
Searching...
No Matches
lala::pc::AbstractElement< AD, Allocator > Class Template Reference

#include <formula.hpp>

Public Types

using A = AD
 
using U = typename A::local_universe
 
using allocator_type = Allocator
 
using tell_type = typename A::template tell_type<allocator_type>
 
using ask_type = typename A::template ask_type<allocator_type>
 
using this_type = AbstractElement<A, allocator_type>
 

Public Member Functions

CUDA AbstractElement ()
 
CUDA AbstractElement (tell_type &&tellv, tell_type &&not_tellv, ask_type &&askv, ask_type &&not_askv)
 
 AbstractElement (this_type &&other)=default
 
this_typeoperator= (this_type &&other)=default
 
template<class A2 , class Alloc2 >
CUDA AbstractElement (const AbstractElement< A2, Alloc2 > &other, const allocator_type &alloc)
 
CUDA local::B ask (const A &a) const
 
CUDA local::B nask (const A &a) const
 
CUDA bool deduce (A &a) const
 
CUDA bool contradeduce (A &a) const
 
CUDA NI void print (const A &a) const
 
template<class Env , class Allocator2 = typename Env::allocator_type>
CUDA NI TFormula< Allocator2 > deinterpret (const A &a, const Env &env, AType, Allocator2 allocator=Allocator2()) const
 
CUDA size_t length () const
 

Friends

template<class A2 , class Alloc >
class AbstractElement
 

Member Typedef Documentation

◆ A

template<class AD , class Allocator >
using lala::pc::AbstractElement< AD, Allocator >::A = AD

◆ U

template<class AD , class Allocator >
using lala::pc::AbstractElement< AD, Allocator >::U = typename A::local_universe

◆ allocator_type

template<class AD , class Allocator >
using lala::pc::AbstractElement< AD, Allocator >::allocator_type = Allocator

◆ tell_type

template<class AD , class Allocator >
using lala::pc::AbstractElement< AD, Allocator >::tell_type = typename A::template tell_type<allocator_type>

◆ ask_type

template<class AD , class Allocator >
using lala::pc::AbstractElement< AD, Allocator >::ask_type = typename A::template ask_type<allocator_type>

◆ this_type

template<class AD , class Allocator >
using lala::pc::AbstractElement< AD, Allocator >::this_type = AbstractElement<A, allocator_type>

Constructor & Destructor Documentation

◆ AbstractElement() [1/4]

template<class AD , class Allocator >
CUDA lala::pc::AbstractElement< AD, Allocator >::AbstractElement ( )
inline

◆ AbstractElement() [2/4]

template<class AD , class Allocator >
CUDA lala::pc::AbstractElement< AD, Allocator >::AbstractElement ( tell_type && tellv,
tell_type && not_tellv,
ask_type && askv,
ask_type && not_askv )
inline

◆ AbstractElement() [3/4]

template<class AD , class Allocator >
lala::pc::AbstractElement< AD, Allocator >::AbstractElement ( this_type && other)
default

◆ AbstractElement() [4/4]

template<class AD , class Allocator >
template<class A2 , class Alloc2 >
CUDA lala::pc::AbstractElement< AD, Allocator >::AbstractElement ( const AbstractElement< A2, Alloc2 > & other,
const allocator_type & alloc )
inline

Member Function Documentation

◆ operator=()

template<class AD , class Allocator >
this_type & lala::pc::AbstractElement< AD, Allocator >::operator= ( this_type && other)
default

◆ ask()

template<class AD , class Allocator >
CUDA local::B lala::pc::AbstractElement< AD, Allocator >::ask ( const A & a) const
inline

◆ nask()

template<class AD , class Allocator >
CUDA local::B lala::pc::AbstractElement< AD, Allocator >::nask ( const A & a) const
inline

◆ deduce()

template<class AD , class Allocator >
CUDA bool lala::pc::AbstractElement< AD, Allocator >::deduce ( A & a) const
inline

◆ contradeduce()

template<class AD , class Allocator >
CUDA bool lala::pc::AbstractElement< AD, Allocator >::contradeduce ( A & a) const
inline

◆ print()

template<class AD , class Allocator >
CUDA NI void lala::pc::AbstractElement< AD, Allocator >::print ( const A & a) const
inline

◆ deinterpret()

template<class AD , class Allocator >
template<class Env , class Allocator2 = typename Env::allocator_type>
CUDA NI TFormula< Allocator2 > lala::pc::AbstractElement< AD, Allocator >::deinterpret ( const A & a,
const Env & env,
AType ,
Allocator2 allocator = Allocator2() ) const
inline

◆ length()

template<class AD , class Allocator >
CUDA size_t lala::pc::AbstractElement< AD, Allocator >::length ( ) const
inline

Friends And Related Symbol Documentation

◆ AbstractElement

template<class AD , class Allocator >
template<class A2 , class Alloc >
friend class AbstractElement
friend

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