CTL  0.6.1
Computed Tomography Library
Classes | Functions
projectorextension.h File Reference
#include "abstractprojector.h"
#include <memory>
Include dependency graph for projectorextension.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  CTL::ProjectorExtension
 The ProjectorExtension class provides the interface to extend projectors with additional functionality using the concept of decoration. More...
 
class  CTL::ProjectorExtension::MetaProjector
 

Functions

template<class ProjectorExtensionType >
auto CTL::operator| (std::unique_ptr< AbstractProjector > lhs, std::unique_ptr< ProjectorExtensionType > rhs) -> typename std::enable_if< std::is_convertible< ProjectorExtensionType *, ProjectorExtension * >::value, std::unique_ptr< ProjectorExtensionType >>::type
 
template<class ProjectorExtensionType >
auto CTL::operator| (std::unique_ptr< AbstractProjector > lhs, ProjectorExtensionType *rhs) -> typename std::enable_if< std::is_convertible< ProjectorExtensionType *, ProjectorExtension * >::value, std::unique_ptr< ProjectorExtensionType >>::type
 
template<class ProjectorExtensionType >
auto CTL::operator| (AbstractProjector *lhs, std::unique_ptr< ProjectorExtensionType > rhs) -> typename std::enable_if< std::is_convertible< ProjectorExtensionType *, ProjectorExtension * >::value, std::unique_ptr< ProjectorExtensionType >>::type
 
std::unique_ptr< AbstractProjector > & CTL::operator|= (std::unique_ptr< AbstractProjector > &lhs, std::unique_ptr< ProjectorExtension > rhs)
 
std::unique_ptr< ProjectorExtension > & CTL::operator|= (std::unique_ptr< ProjectorExtension > &lhs, std::unique_ptr< ProjectorExtension > rhs)
 
std::unique_ptr< AbstractProjector > & CTL::operator|= (std::unique_ptr< AbstractProjector > &lhs, ProjectorExtension *rhs)
 
std::unique_ptr< ProjectorExtension > & CTL::operator|= (std::unique_ptr< ProjectorExtension > &lhs, ProjectorExtension *rhs)
 
AbstractProjector *& CTL::operator|= (AbstractProjector *&lhs, std::unique_ptr< ProjectorExtension > rhs)
 
ProjectorExtension *& CTL::operator|= (ProjectorExtension *&lhs, std::unique_ptr< ProjectorExtension > rhs)
 
AbstractProjector *& CTL::pipe (AbstractProjector *&lhs, ProjectorExtension *rhs)
 
ProjectorExtension *& CTL::pipe (ProjectorExtension *&lhs, ProjectorExtension *rhs)
 
template<typename ProjectorExtensionType >
auto CTL::makeExtension (AbstractProjector *projector=nullptr) -> typename std::enable_if< std::is_convertible< ProjectorExtensionType *, ProjectorExtension * >::value, std::unique_ptr< ProjectorExtensionType >>::type
 
template<typename ProjectorExtensionType >
auto CTL::makeExtension (std::unique_ptr< AbstractProjector > projector) -> typename std::enable_if< std::is_convertible< ProjectorExtensionType *, ProjectorExtension * >::value, std::unique_ptr< ProjectorExtensionType >>::type