diff options
Diffstat (limited to 'src/strings/fwd.hpp')
-rw-r--r-- | src/strings/fwd.hpp | 25 |
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 |