1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
#pragma once
#include <string>
#include <memory>
#include <hocon/path.hpp>
namespace hocon {
class substitution_expression : public std::enable_shared_from_this<substitution_expression> {
public:
substitution_expression(path the_path, bool optional);
path get_path() const;
bool optional() const;
std::shared_ptr<substitution_expression> change_path(path new_path);
std::string to_string() const;
bool operator==(substitution_expression const& other) const;
private:
const path _path;
const bool _optional;
};
} // namespace hocon
|