Lattice Land Core Library
cartesian_product.hpp File Reference
#include "battery/utility.hpp"
#include "battery/vector.hpp"
#include "battery/tuple.hpp"
#include "battery/variant.hpp"
#include "logic/logic.hpp"
#include "universes/arith_bound.hpp"

Go to the source code of this file.

Classes

class  lala::CartesianProduct< As >
 

Namespaces

 lala
 

Functions

template<size_t i, class... As>
constexpr CUDA const CartesianProduct< As... >::template type_of< i > & lala::project (const CartesianProduct< As... > &cp)
 Similar to cp.template project<i>(), just to avoid the ".template" syntax. More...
 
template<size_t i, class... As>
constexpr CUDA CartesianProduct< As... >::template type_of< i > & lala::project (CartesianProduct< As... > &cp)
 
template<class... As, class... Bs>
constexpr CUDA auto lala::fjoin (const CartesianProduct< As... > &a, const CartesianProduct< Bs... > &b)
 
template<class... As, class... Bs>
constexpr CUDA auto lala::fmeet (const CartesianProduct< As... > &a, const CartesianProduct< Bs... > &b)
 
template<class... As, class... Bs>
constexpr CUDA bool lala::operator< (const CartesianProduct< As... > &a, const CartesianProduct< Bs... > &b)
 
template<class... As, class... Bs>
constexpr CUDA bool lala::operator> (const CartesianProduct< As... > &a, const CartesianProduct< Bs... > &b)
 
template<class... As, class... Bs>
constexpr CUDA bool lala::operator== (const CartesianProduct< As... > &a, const CartesianProduct< Bs... > &b)
 
template<class A , class... As>
std::ostream & lala::operator<< (std::ostream &s, const CartesianProduct< A, As... > &cp)