preprocess_* now uses const references to tokens
They copy and construct new token vectors and just read the token inputs.
This commit is contained in:
@@ -22,7 +22,7 @@ using std::pair, std::vector, std::make_pair, std::string, std::string_view;
|
||||
#define VAL(E) std::make_pair(E, pp_err_t{pp_err_type_t::OK})
|
||||
|
||||
pair<vector<token_t *>, pp_err_t>
|
||||
preprocess_use_blocks(vector<token_t *> tokens)
|
||||
preprocess_use_blocks(const vector<token_t *> &tokens)
|
||||
{
|
||||
vector<token_t *> new_tokens;
|
||||
for (size_t i = 0; i < tokens.size(); ++i)
|
||||
@@ -69,7 +69,7 @@ struct const_t
|
||||
};
|
||||
|
||||
pair<vector<token_t *>, pp_err_t>
|
||||
preprocess_const_blocks(vector<token_t *> &tokens)
|
||||
preprocess_const_blocks(vector<token_t *> const &tokens)
|
||||
{
|
||||
std::unordered_map<string_view, const_t> blocks;
|
||||
for (size_t i = 0; i < tokens.size(); ++i)
|
||||
|
||||
@@ -45,13 +45,13 @@ std::pair<std::vector<token_t *>, pp_err_t>
|
||||
preprocesser(std::vector<token_t *> &);
|
||||
|
||||
std::pair<std::vector<token_t *>, pp_err_t>
|
||||
preprocess_const_blocks(std::vector<token_t *> &);
|
||||
preprocess_const_blocks(const std::vector<token_t *> &);
|
||||
|
||||
std::pair<std::vector<token_t *>, pp_err_t>
|
||||
preprocess_use_blocks(std::vector<token_t *> &);
|
||||
preprocess_use_blocks(const std::vector<token_t *> &);
|
||||
|
||||
// TODO: Implement this
|
||||
std::pair<std::vector<token_t *>, pp_err_t>
|
||||
preprocess_macro_blocks(std::vector<token_t *> &);
|
||||
preprocess_macro_blocks(const std::vector<token_t *> &);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user