Skip to content
Snippets Groups Projects
Commit f16e8ab1 authored by Jan Trávníček's avatar Jan Trávníček
Browse files

builtin move in cli

parent 50f6d978
No related branches found
No related tags found
1 merge request!125procedural aql
This commit is part of merge request !125. Comments created here will be created in the context of that merge request.
/*
* Move.cpp
*
* Created on: 18. 12. 2019
* Author: Jan Travnicek
*/
#include "Move.h"
#include <registration/AlgoRegistration.hpp>
namespace {
auto move = ext::Register < void > ( [ ] ( ) {
abstraction::AlgorithmRegistry::registerRaw < cli::builtin::Move > ( cli::builtin::Move::move, ext::pair < std::string, abstraction::ParamQualifiers::ParamQualifierSet > { "auto", abstraction::ParamQualifiers::ParamQualifierSet::RREF }, ext::vector < ext::tuple < std::string, abstraction::ParamQualifiers::ParamQualifierSet, std::string > > { { "auto", abstraction::ParamQualifiers::ParamQualifierSet::LREF, "arg0" } } );
}, [ ] ( ) {
abstraction::AlgorithmRegistry::unregisterRaw < cli::builtin::Move > ( ext::vector < ext::tuple < std::string, abstraction::ParamQualifiers::ParamQualifierSet > > { { "auto", abstraction::ParamQualifiers::ParamQualifierSet::LREF } } );
} );
} /* namespace */
/*
* Move.h
*
* Created on: 18. 12. 2019
* Author: Jan Travnicek
*/
#ifndef _MOVE_H_
#define _MOVE_H_
#include <abstraction/Value.hpp>
namespace cli {
namespace builtin {
/**
* Builtin move on abstraction values.
*
*/
class Move {
public:
static std::shared_ptr < abstraction::Value > move ( std::vector < std::shared_ptr < abstraction::Value > > params ) {
abstraction::ParamQualifiers::ParamQualifierSet paramQualifiers = abstraction::ParamQualifiers::ParamQualifierSet::RREF;
if ( params [ 0 ]->getTypeQualifiers ( ) && abstraction::ParamQualifiers::ParamQualifierSet::CONST )
paramQualifiers = paramQualifiers | abstraction::ParamQualifiers::ParamQualifierSet::CONST;
return params [ 0 ]->clone ( paramQualifiers, true, true );
}
};
} /* namespace builtin */
} /* namespace cli */
#endif /* _MOVE_H_ */
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment