summaryrefslogtreecommitdiff
path: root/src/strings/fwd.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/strings/fwd.hpp')
-rw-r--r--src/strings/fwd.hpp25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/strings/fwd.hpp b/src/strings/fwd.hpp
index 4c58e03..b1b8266 100644
--- a/src/strings/fwd.hpp
+++ b/src/strings/fwd.hpp
@@ -1,5 +1,4 @@
-#ifndef TMWA_STRINGS_FWD_HPP
-#define TMWA_STRINGS_FWD_HPP
+#pragma once
// strings/fwd.hpp - Forward declarations for all the string classes.
//
// Copyright © 2013 Ben Longbons <b.r.longbons@gmail.com>
@@ -19,10 +18,14 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
-# include "../sanity.hpp"
+#include "../sanity.hpp"
-# include <cstdint>
+#include <cstddef>
+#include <cstdint>
+
+namespace tmwa
+{
// It is a common mistake to assume that one string class for everything.
// Because C++ and TMWA have a C legacy, there are a few more here
// than would probably be necessary in an ideal language.
@@ -40,12 +43,18 @@ namespace strings
class XString;
// semi-owning
+ class LString;
+ class FormatString;
template<uint8_t len>
class VString;
- // refactor this into a function?
+ // TODO refactor this into a function?
enum _type_that_just_has_a_name_to_fix_linkage
{ really_construct_from_a_pointer };
+
+ LString operator "" _s(const char *, size_t);
+ constexpr
+ FormatString operator "" _fmt(const char *, size_t);
} // namespace strings
using strings::MString;
@@ -57,6 +66,10 @@ using strings::SString;
using strings::ZString;
using strings::XString;
+using strings::LString;
+using strings::FormatString;
using strings::VString;
-#endif // TMWA_STRINGS_FWD_HPP
+using strings::operator "" _s;
+using strings::operator "" _fmt;
+} // namespace tmwa