[module CppClassOperationsImplementation('http://www.eclipse.org/uml2/4.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] [import org::eclipse::papyrus::acceleo::GenUtils/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::operation::CppOperations/] [comment implementations of a classifier, parameter controls whether only inline (or only not inline) operations are produced/] [template public CppClassOperationsImplementation(class : Classifier, inline : Boolean)] [for (getOperations()->select( (not (hasStereotype(NoCodeGen) or isAbstract)) and (hasStereotype(C_Cpp::Inline) = inline)))] [CppOperationImplementation()/] [/for] [for (b : OpaqueBehavior | eAllContents(OpaqueBehavior)->select( (hasStereotype(C_Cpp::Inline) = inline)))] [if (b.specification = null)] // opaque behavior without specification (typically from state machine) [CppBehaviorImplementation()/] [/if] [/for] [/template]