aboutsummaryrefslogtreecommitdiff
path: root/libbutl/manifest-types.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'libbutl/manifest-types.hxx')
-rw-r--r--libbutl/manifest-types.hxx32
1 files changed, 32 insertions, 0 deletions
diff --git a/libbutl/manifest-types.hxx b/libbutl/manifest-types.hxx
new file mode 100644
index 0000000..23318f0
--- /dev/null
+++ b/libbutl/manifest-types.hxx
@@ -0,0 +1,32 @@
+// file : libbutl/manifest-types.hxx -*- C++ -*-
+// license : MIT; see accompanying LICENSE file
+
+#pragma once
+
+#include <string>
+#include <cstdint> // uint64_t
+
+#include <libbutl/export.hxx>
+
+namespace butl
+{
+ class manifest_name_value
+ {
+ public:
+ std::string name;
+ std::string value;
+
+ std::uint64_t name_line;
+ std::uint64_t name_column;
+
+ std::uint64_t value_line;
+ std::uint64_t value_column;
+
+ std::uint64_t start_pos; // Position of name/value-starting character.
+ std::uint64_t colon_pos; // Position of name/value-separating ':'.
+ std::uint64_t end_pos; // Position of name/value-terminating '\n' or EOF.
+
+ bool
+ empty () const {return name.empty () && value.empty ();}
+ };
+}