CPGen
C++ project generator
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Emitter Class Referenceabstract

Abstract base class for pipeline emitters. More...

#include <Emitter.hpp>

Inheritance diagram for Emitter:
Inheritance graph
[legend]

Public Member Functions

 Emitter ()=default
 
virtual ~Emitter ()=default
 
 Emitter (const Emitter &)=default
 
Emitteroperator= (const Emitter &)=default
 
 Emitter (Emitter &&)=default
 
Emitteroperator= (Emitter &&)=default
 
virtual std::vector< OutputFileemit (const ResolvedProject &project)=0
 Produce output files from a resolved project.
 

Detailed Description

Abstract base class for pipeline emitters.

Each concrete emitter is responsible for one facet of project generation (CMake build file, source scaffolding, tooling configuration, …).

Constructor & Destructor Documentation

◆ Emitter() [1/3]

Emitter::Emitter ( )
default

◆ ~Emitter()

virtual Emitter::~Emitter ( )
virtualdefault

◆ Emitter() [2/3]

Emitter::Emitter ( const Emitter )
default

◆ Emitter() [3/3]

Emitter::Emitter ( Emitter &&  )
default

Member Function Documentation

◆ emit()

virtual std::vector< OutputFile > Emitter::emit ( const ResolvedProject project)
pure virtual

Produce output files from a resolved project.

Parameters
projectThe fully resolved project description.
Returns
A vector of files to write to the project directory.

Implemented in CMakeEmitter, ScaffoldEmitter, and ToolingEmitter.

◆ operator=() [1/2]

Emitter & Emitter::operator= ( const Emitter )
default

◆ operator=() [2/2]

Emitter & Emitter::operator= ( Emitter &&  )
default

The documentation for this class was generated from the following file: