Proteus
Programmable JIT compilation and optimization for C/C++ using LLVM
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
Var.hpp File Reference
#include "proteus/Error.h"
#include "proteus/Frontend/TypeMap.hpp"
#include "proteus/Frontend/VarStorage.hpp"
#include <llvm/IR/IRBuilder.h>
#include <llvm/IR/Module.h>
#include <type_traits>
Include dependency graph for Var.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  proteus::VarStorageOwner< StorageT >
 
struct  proteus::Var< T, std::enable_if_t< std::is_arithmetic_v< T > > >
 
struct  proteus::Var< T, std::enable_if_t< std::is_array_v< T > > >
 
struct  proteus::Var< T, std::enable_if_t< std::is_pointer_v< T > > >
 

Namespaces

namespace  proteus
 

Functions

template<typename From , typename To >
Value * proteus::convert (IRBuilderBase IRB, Value *V)
 
template<typename T , typename U >
std::enable_if_t< std::is_arithmetic_v< T > &&std::is_arithmetic_v< U >, Var< std::common_type_t< T, U > > > proteus::operator+ (const T &ConstValue, const Var< U > &V)
 
template<typename T , typename U >
std::enable_if_t< std::is_arithmetic_v< T > &&std::is_arithmetic_v< U >, Var< std::common_type_t< T, U > > > proteus::operator- (const T &ConstValue, const Var< U > &V)
 
template<typename T , typename U >
std::enable_if_t< std::is_arithmetic_v< T > &&std::is_arithmetic_v< U >, Var< std::common_type_t< T, U > > > proteus::operator* (const T &ConstValue, const Var< U > &V)
 
template<typename T , typename U >
std::enable_if_t< std::is_arithmetic_v< T > &&std::is_arithmetic_v< U >, Var< std::common_type_t< T, U > > > proteus::operator/ (const T &ConstValue, const Var< U > &V)
 
template<typename T , typename U >
std::enable_if_t< std::is_arithmetic_v< T > &&std::is_arithmetic_v< U >, Var< std::common_type_t< T, U > > > proteus::operator% (const T &ConstValue, const Var< U > &V)