$darkmode
stack_factory.hpp File Reference
#include <iostream>
#include <memory>
#include <string>
#include <vector>
#include <fable/environment.hpp>
Include dependency graph for stack_factory.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  cloe::StackOptions
 

Functions

Stack cloe::new_stack (const StackOptions &opt)
 
Stack cloe::new_stack (const StackOptions &opt, const std::string &filepath)
 
Stack cloe::new_stack (const StackOptions &opt, const std::vector< std::string > &filepaths)
 
void cloe::merge_stack (const StackOptions &opt, Stack &s, const std::string &filepath)
 

Detailed Description

See also
stack_factory.cpp

This file provides methods for creating Stack objects.

These can be configured through the environment and the CLI by way of StackOptions. Only one Stack object is created in an execution, all further stackfiles are merged into the first Stack object. While this is the current behavior, it is not guaranteed; Stack is not a singleton.

Function Documentation

◆ merge_stack()

void cloe::merge_stack ( const StackOptions opt,
Stack s,
const std::string &  filepath 
)

Merge the provided stackfile into the existing Stack, respecting StackOptions.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ new_stack() [1/3]

Stack cloe::new_stack ( const StackOptions opt)

Create a new empty default Stack from StackOptions.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ new_stack() [2/3]

Stack cloe::new_stack ( const StackOptions opt,
const std::string &  filepath 
)

Create a new Stack from the stackfile provided, respecting StackOptions.

Here is the call graph for this function:

◆ new_stack() [3/3]

Stack cloe::new_stack ( const StackOptions opt,
const std::vector< std::string > &  filepaths 
)

Create a new Stack by merging all stackfiles provided, respecting StackOptions.

Here is the call graph for this function: