BlackCat_Tensors
A GPU-supported autograd and linear algebra library, designed for neural network construction
Public Types | List of all members
bc::tensors::exprs::expression_traits< T > Struct Template Reference

#include <expression_template_traits.h>

Inheritance diagram for bc::tensors::exprs::expression_traits< T >:
Inheritance graph
[legend]

Public Types

using system_tag = bc::traits::conditional_detected_t< detail::query_system_tag, T, host_tag >
 
using allocation_tag = bc::traits::conditional_detected_t< detail::query_allocation_type, T, system_tag >
 
using value_type = bc::traits::conditional_detected_t< detail::query_value_type, T, void >
 
using is_const_view = bc::traits::conditional_detected_t< detail::query_is_const_view, T, std::false_type >
 
using is_view = bc::traits::conditional_detected_t< detail::query_is_view, T, is_const_view >
 
using is_move_constructible = bc::traits::conditional_detected_t< detail::query_move_constructible, T, std::true_type >
 
using is_copy_constructible = bc::traits::conditional_detected_t< detail::query_copy_constructible, T, std::true_type >
 
using is_move_assignable = bc::traits::conditional_detected_t< detail::query_move_assignable, T, std::true_type >
 
using is_copy_assignable = bc::traits::conditional_detected_t< detail::query_copy_assignable, T, std::true_type >
 
using is_blas_expression = std::is_base_of< bc::oper::BLAS_Function, T >
 
using requires_greedy_evaluation = bc::traits::conditional_detected_t< detail::query_requires_greedy_evaluation, T, std::false_type >
 
using is_array = bc::traits::conditional_detected_t< detail::query_expression_template_array_type, T, std::false_type >
 
using is_expr = bc::traits::conditional_detected_t< detail::query_expression_template_expression_type, T, std::false_type >
 
using is_expression_template = bc::traits::truth_type< is_array::value||is_expr::value >
 
using is_temporary = bc::traits::conditional_detected_t< detail::query_is_temporary_value, T, std::false_type >
 
using is_stack_allocated = bc::traits::conditional_detected_t< detail::query_stack_allocated, T, std::false_type >
 
using is_noncontinuous = bc::traits::conditional_detected_t< detail::query_is_noncontinuous_in_memory, T, std::false_type >
 
using is_continuous = bc::traits::truth_type<!is_noncontinuous::value >
 

Member Typedef Documentation

◆ allocation_tag

◆ is_array

◆ is_blas_expression

template<class T>
using bc::tensors::exprs::expression_traits< T >::is_blas_expression = std::is_base_of<bc::oper::BLAS_Function, T>

◆ is_const_view

◆ is_continuous

template<class T>
using bc::tensors::exprs::expression_traits< T >::is_continuous = bc::traits::truth_type<!is_noncontinuous::value>

◆ is_copy_assignable

◆ is_copy_constructible

◆ is_expr

◆ is_expression_template

template<class T>
using bc::tensors::exprs::expression_traits< T >::is_expression_template = bc::traits::truth_type<is_array::value || is_expr::value>

◆ is_move_assignable

◆ is_move_constructible

◆ is_noncontinuous

◆ is_stack_allocated

◆ is_temporary

◆ is_view

◆ requires_greedy_evaluation

◆ system_tag

◆ value_type


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