SpECTRE Documentation Coverage Report
Current view: top level - Options - Context.hpp Hit Total Coverage
Commit: b5597f20e7a0dfecb2992cc663ed2bdeb0b67424 Lines: 5 8 62.5 %
Date: 2024-05-08 18:49:33
Legend: Lines: hit not hit

          Line data    Source code
       1           0 : // Distributed under the MIT License.
       2             : // See LICENSE.txt for details.
       3             : 
       4             : #pragma once
       5             : 
       6             : #include <iosfwd>
       7             : #include <string>
       8             : 
       9             : namespace Options {
      10             : /// \ingroup OptionParsingGroup
      11             : /// Information about the nested operations being performed by the
      12             : /// parser, for use in printing errors.  A default-constructed
      13             : /// Context is printed as an empty string.  This struct is
      14             : /// primarily used as an argument to PARSE_ERROR for reporting input
      15             : /// file parsing errors.  Users outside of the core option parsing
      16             : /// code should not need to manipulate the contents.
      17           1 : struct Context {
      18           0 :   bool top_level{true};
      19             :   /// (Part of) the parsing "backtrace" printed with an error
      20           1 :   std::string context;
      21             :   /// File line number (0 based)
      22           1 :   int line{-1};
      23             :   /// File column number (0 based)
      24           1 :   int column{-1};
      25             : 
      26             :   /// Append a line to the context.  Automatically appends a colon.
      27           1 :   void append(const std::string& c) { context += c + ":\n"; }
      28             : };
      29             : 
      30           0 : std::ostream& operator<<(std::ostream& s, const Context& c);
      31             : 
      32             : }  // namespace Options

Generated by: LCOV version 1.14