Lattice land propagators completion library
lala::pc::Unary< AD, UnaryOp, Allocator > Class Template Reference

#include <terms.hpp>

Public Types

using allocator_type = Allocator
 
using A = AD
 
using U = typename A::local_universe
 
using this_type = Unary< A, allocator_type, UnaryOp >
 

Public Member Functions

CUDA Unary (battery::unique_ptr< sub_type, allocator_type > &&x_term)
 
CUDA Unary (this_type &&other)
 
template<class A2 , class UnaryOp2 , class Alloc2 >
CUDA Unary (const Unary< A2, UnaryOp2, Alloc2 > &other, const allocator_type &allocator)
 
CUDA bool embed (A &a, const U &u) const
 
CUDA void project (const A &a, U &r) const
 
CUDA NI void print (const A &a) const
 
template<class Env , class Allocator2 = typename Env::allocator_type>
CUDA TFormula< Allocator2 > deinterpret (const A &a, const Env &env, AType apc, Allocator2 allocator=Allocator2()) const
 
CUDA size_t length () const
 

Friends

template<class A2 , class UnaryOp2 , class Alloc2 >
class Unary
 

Member Typedef Documentation

◆ allocator_type

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

◆ A

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

◆ U

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

◆ this_type

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

Constructor & Destructor Documentation

◆ Unary() [1/3]

template<class AD , class UnaryOp , class Allocator >
CUDA lala::pc::Unary< AD, UnaryOp, Allocator >::Unary ( battery::unique_ptr< sub_type, allocator_type > &&  x_term)
inline

◆ Unary() [2/3]

template<class AD , class UnaryOp , class Allocator >
CUDA lala::pc::Unary< AD, UnaryOp, Allocator >::Unary ( this_type &&  other)
inline

◆ Unary() [3/3]

template<class AD , class UnaryOp , class Allocator >
template<class A2 , class UnaryOp2 , class Alloc2 >
CUDA lala::pc::Unary< AD, UnaryOp, Allocator >::Unary ( const Unary< A2, UnaryOp2, Alloc2 > &  other,
const allocator_type allocator 
)
inline

Member Function Documentation

◆ embed()

template<class AD , class UnaryOp , class Allocator >
CUDA bool lala::pc::Unary< AD, UnaryOp, Allocator >::embed ( A a,
const U u 
) const
inline

◆ project()

template<class AD , class UnaryOp , class Allocator >
CUDA void lala::pc::Unary< AD, UnaryOp, Allocator >::project ( const A a,
U r 
) const
inline

◆ print()

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

◆ deinterpret()

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

◆ length()

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

Friends And Related Function Documentation

◆ Unary

template<class AD , class UnaryOp , class Allocator >
template<class A2 , class UnaryOp2 , class Alloc2 >
friend class Unary
friend

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