top | up | prev | next

Solution Class

Definition at line 54 of Solution.hpp

Constructors

Solution(const Solution&) delete
Solution(const std::u32string& name_, const std::string& filePath_)

Member Functions

const std::u32string& ActiveProjectName() const
void AddDeclaration(SolutionDeclaration* declaration)
void AddDependencies()
void AddProject(std::unique_ptr<Project>&& project)
const boost::filesystem::path& BasePath() const
std::vector<Project*> CreateBuildOrder()
const std::string& FilePath() const
const std::u32string& Name() const
const std::vector<std::string>& ProjectFilePaths() const
const std::vector<std::string>& RelativeProjectFilePaths() const
void ResolveDeclarations()
Solution& operator=(const Solution&) delete

Member Variables

std::u32string activeProjectName
std::vector<std::unique_ptr<ProjectDependencyDeclaration>> additionalDependencyDeclarations
boost::filesystem::path basePath
std::vector<std::unique_ptr<SolutionDeclaration>> declarations
std::unordered_map<std::u32string, ProjectDependencyDeclaration*> dependencyMap
std::string filePath
std::u32string name
std::vector<std::string> projectFilePaths
std::vector<std::unique_ptr<Project>> projects
std::vector<std::string> relativeProjectFilePaths

Constructor Details

Solution Constructor

sngcm::ast::Solution::Solution(const Solution &) delete

Definition at line 58 of Solution.hpp


Solution Constructor

sngcm::ast::Solution::Solution(const std::u32string& name_, const std::string& filePath_)

Definition at line 41 of Solution.cpp :
 41 : name(name_)filePath(filePath_)basePath(filePath)
 42 {
 43     basePath.remove_filename();
 44 }


Declaration at line 57 of Solution.hpp


Member Function Details

ActiveProjectName Member Function

const std::u32string& sngcm::ast::Solution::ActiveProjectName() const

Definition at line 65 of Solution.hpp :
65 { return activeProjectName; }


AddDeclaration Member Function

void sngcm::ast::Solution::AddDeclaration(SolutionDeclaration * declaration)

Definition at line 46 of Solution.cpp :
 47 {
 48     declarations.push_back(std::unique_ptr<SolutionDeclaration>(declaration));
 49 }


Declaration at line 68 of Solution.hpp


AddDependencies Member Function

void sngcm::ast::Solution::AddDependencies()

Definition at line 131 of Solution.cpp
Declaration at line 81 of Solution.hpp

Calls: sngcm::ast::ProjectDependencyDeclaration::AddDependency , sngcm::ast::ProjectDependencyDeclaration::DependsOnProjects , sngcm::ast::Solution::Name

Called by: sngcm::ast::Solution::CreateBuildOrder


AddProject Member Function

void sngcm::ast::Solution::AddProject(std::unique_ptr<Project >&& project)

Definition at line 92 of Solution.cpp :
 93 {
 94     projects.push_back(std::move(project));
 95 }


Declaration at line 66 of Solution.hpp


BasePath Member Function

const boost::filesystem::path& sngcm::ast::Solution::BasePath() const

Definition at line 62 of Solution.hpp :
62 { return basePath; }


CreateBuildOrder Member Function

std::vector<Project *> sngcm::ast::Solution::CreateBuildOrder()

Definition at line 165 of Solution.cpp
Declaration at line 67 of Solution.hpp

Calls: sngcm::ast::Solution::AddDependencies , sngcm::ast::Solution::FilePath , sngcm::ast::Solution::Name


FilePath Member Function

const std::string& sngcm::ast::Solution::FilePath() const

Definition at line 61 of Solution.hpp :
61 { return filePath; }

Called by: sngcm::ast::Solution::CreateBuildOrder


Name Member Function

const std::u32string& sngcm::ast::Solution::Name() const

Definition at line 60 of Solution.hpp :
60 { return name; }

Called by: sngcm::ast::Solution::AddDependencies , sngcm::ast::Solution::CreateBuildOrder


ProjectFilePaths Member Function

const std::vector<std::string>& sngcm::ast::Solution::ProjectFilePaths() const

Definition at line 63 of Solution.hpp :
63 { return projectFilePaths; }


RelativeProjectFilePaths Member Function

const std::vector<std::string>& sngcm::ast::Solution::RelativeProjectFilePaths() const

Definition at line 64 of Solution.hpp :
64 { return relativeProjectFilePaths; }


ResolveDeclarations Member Function

void sngcm::ast::Solution::ResolveDeclarations()

Definition at line 51 of Solution.cpp
Declaration at line 69 of Solution.hpp

Calls: sngcm::ast::ProjectDependencyDeclaration::ProjectName , sngcm::ast::SolutionActiveProjectDeclaration::ActiveProjectName , sngcm::ast::SolutionProjectDeclaration::FilePath


operator= Member Function

Solution & sngcm::ast::Solution::operator=(const Solution &) delete

Definition at line 59 of Solution.hpp


top | up | prev | next