| 324 | // This will be ignored under other compilers like LLVM clang. |
| 325 | #endif |
| 326 | class Value : public std::enable_shared_from_this<Value> |
| 327 | { |
| 328 | public: |
| 329 | |
| 330 | virtual ~Value() = default; |
| 331 | |
| 332 | virtual |
| 333 | std::shared_ptr<Value> |
| 334 | clone() const = 0; |
| 335 | |
| 336 | virtual void |
| 337 | parse(const std::string& text) const = 0; |
| 338 | |
| 339 | virtual void |
| 340 | parse() const = 0; |
| 341 | |
| 342 | virtual bool |
| 343 | has_default() const = 0; |
| 344 | |
| 345 | virtual bool |
| 346 | is_container() const = 0; |
| 347 | |
| 348 | virtual bool |
| 349 | has_implicit() const = 0; |
| 350 | |
| 351 | virtual std::string |
| 352 | get_default_value() const = 0; |
| 353 | |
| 354 | virtual std::string |
| 355 | get_implicit_value() const = 0; |
| 356 | |
| 357 | virtual std::shared_ptr<Value> |
| 358 | default_value(const std::string& value) = 0; |
| 359 | |
| 360 | virtual std::shared_ptr<Value> |
| 361 | implicit_value(const std::string& value) = 0; |
| 362 | |
| 363 | virtual std::shared_ptr<Value> |
| 364 | no_implicit_value() = 0; |
| 365 | |
| 366 | virtual bool |
| 367 | is_boolean() const = 0; |
| 368 | }; |
| 369 | #if defined(__GNUC__) |
| 370 | #pragma GCC diagnostic pop |
| 371 | #endif |
nothing calls this directly
no outgoing calls
no test coverage detected