Skip to content
Snippets Groups Projects

procedural aql

Merged Jan Trávníček requested to merge merge-jt into master
4 files
+ 85
67
Compare changes
  • Side-by-side
  • Inline
Files
4
@@ -9,3 +9,32 @@
template class abstraction::PackingAbstraction < 2 >;
template class abstraction::PackingAbstraction < 3 >;
namespace abstraction {
PackingAbstractionImpl::LazyValue::LazyValue ( const std::shared_ptr < abstraction::OperationAbstraction > & ref ) : m_lifeReference ( std::move ( ref ) ) {
}
std::shared_ptr < abstraction::Value > PackingAbstractionImpl::LazyValue::clone ( abstraction::ParamQualifiers::ParamQualifierSet, bool, bool ) {
throw std::domain_error ( "Feature not available on lazy value" );
}
ext::type_index PackingAbstractionImpl::LazyValue::getTypeIndex ( ) const {
return this->getLifeReference( )->getReturnTypeIndex ( );
}
abstraction::ParamQualifiers::ParamQualifierSet PackingAbstractionImpl::LazyValue::getTypeQualifiers ( ) const {
return this->getLifeReference ( )->getReturnTypeQualifiers ( );
}
std::shared_ptr < abstraction::Value > PackingAbstractionImpl::LazyValue::getProxyAbstraction ( ) {
if ( cache == nullptr )
cache = this->getLifeReference ( )->eval ( );
return cache->getProxyAbstraction ( );
}
const std::shared_ptr < abstraction::OperationAbstraction > & PackingAbstractionImpl::LazyValue::getLifeReference ( ) const {
return m_lifeReference;
}
} /* namespace abstraction */
Loading