-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Actually needed c++ files for {fmt} to work
{fmt} actually works now
- Loading branch information
1 parent
7352fec
commit a209eee
Showing
3 changed files
with
595 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,151 @@ | ||
module; | ||
|
||
#ifdef _MSVC_LANG | ||
# define FMT_CPLUSPLUS _MSVC_LANG | ||
#else | ||
# define FMT_CPLUSPLUS __cplusplus | ||
#endif | ||
|
||
// Put all implementation-provided headers into the global module fragment | ||
// to prevent attachment to this module. | ||
#ifndef FMT_IMPORT_STD | ||
# include <algorithm> | ||
# include <bitset> | ||
# include <chrono> | ||
# include <cmath> | ||
# include <complex> | ||
# include <cstddef> | ||
# include <cstdint> | ||
# include <cstdio> | ||
# include <cstdlib> | ||
# include <cstring> | ||
# include <ctime> | ||
# include <exception> | ||
# if FMT_CPLUSPLUS > 202002L | ||
# include <expected> | ||
# endif | ||
# include <filesystem> | ||
# include <fstream> | ||
# include <functional> | ||
# include <iterator> | ||
# include <limits> | ||
# include <locale> | ||
# include <memory> | ||
# include <optional> | ||
# include <ostream> | ||
# include <source_location> | ||
# include <stdexcept> | ||
# include <string> | ||
# include <string_view> | ||
# include <system_error> | ||
# include <thread> | ||
# include <type_traits> | ||
# include <typeinfo> | ||
# include <utility> | ||
# include <variant> | ||
# include <vector> | ||
#else | ||
# include <limits.h> | ||
# include <stdint.h> | ||
# include <stdio.h> | ||
# include <time.h> | ||
#endif | ||
#include <cerrno> | ||
#include <climits> | ||
#include <version> | ||
|
||
#if __has_include(<cxxabi.h>) | ||
# include <cxxabi.h> | ||
#endif | ||
#if defined(_MSC_VER) || defined(__MINGW32__) | ||
# include <intrin.h> | ||
#endif | ||
#if defined __APPLE__ || defined(__FreeBSD__) | ||
# include <xlocale.h> | ||
#endif | ||
#if __has_include(<winapifamily.h>) | ||
# include <winapifamily.h> | ||
#endif | ||
#if (__has_include(<fcntl.h>) || defined(__APPLE__) || \ | ||
defined(__linux__)) && \ | ||
(!defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)) | ||
# include <fcntl.h> | ||
# include <sys/stat.h> | ||
# include <sys/types.h> | ||
# ifndef _WIN32 | ||
# include <unistd.h> | ||
# else | ||
# include <io.h> | ||
# endif | ||
#endif | ||
#ifdef _WIN32 | ||
# if defined(__GLIBCXX__) | ||
# include <ext/stdio_filebuf.h> | ||
# include <ext/stdio_sync_filebuf.h> | ||
# endif | ||
# define WIN32_LEAN_AND_MEAN | ||
# include <windows.h> | ||
#endif | ||
|
||
export module fmt; | ||
|
||
#ifdef FMT_IMPORT_STD | ||
import std; | ||
#endif | ||
|
||
#define FMT_EXPORT export | ||
#define FMT_BEGIN_EXPORT export { | ||
#define FMT_END_EXPORT } | ||
|
||
// If you define FMT_ATTACH_TO_GLOBAL_MODULE | ||
// - all declarations are detached from module 'fmt' | ||
// - the module behaves like a traditional static library, too | ||
// - all library symbols are mangled traditionally | ||
// - you can mix TUs with either importing or #including the {fmt} API | ||
#ifdef FMT_ATTACH_TO_GLOBAL_MODULE | ||
extern "C++" { | ||
#endif | ||
|
||
#ifndef FMT_OS | ||
# define FMT_OS 1 | ||
#endif | ||
|
||
// All library-provided declarations and definitions must be in the module | ||
// purview to be exported. | ||
#include "fmt/args.h" | ||
#include "fmt/chrono.h" | ||
#include "fmt/color.h" | ||
#include "fmt/compile.h" | ||
#include "fmt/format.h" | ||
#if FMT_OS | ||
# include "fmt/os.h" | ||
#endif | ||
#include "fmt/ostream.h" | ||
#include "fmt/printf.h" | ||
#include "fmt/ranges.h" | ||
#include "fmt/std.h" | ||
#include "fmt/xchar.h" | ||
|
||
#ifdef FMT_ATTACH_TO_GLOBAL_MODULE | ||
} | ||
#endif | ||
|
||
// gcc doesn't yet implement private module fragments | ||
#if !FMT_GCC_VERSION | ||
module :private; | ||
#endif | ||
|
||
#ifdef FMT_ATTACH_TO_GLOBAL_MODULE | ||
extern "C++" { | ||
#endif | ||
|
||
#if FMT_HAS_INCLUDE("format.cc") | ||
# include "format.cc" | ||
#endif | ||
#if FMT_OS && FMT_HAS_INCLUDE("os.cc") | ||
# include "os.cc" | ||
#endif | ||
|
||
#ifdef FMT_ATTACH_TO_GLOBAL_MODULE | ||
} | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
// Formatting library for C++ | ||
// | ||
// Copyright (c) 2012 - 2016, Victor Zverovich | ||
// All rights reserved. | ||
// | ||
// For the license information refer to format.h. | ||
|
||
#include "fmt/format-inl.h" | ||
|
||
FMT_BEGIN_NAMESPACE | ||
namespace detail { | ||
|
||
template FMT_API auto dragonbox::to_decimal(float x) noexcept | ||
-> dragonbox::decimal_fp<float>; | ||
template FMT_API auto dragonbox::to_decimal(double x) noexcept | ||
-> dragonbox::decimal_fp<double>; | ||
|
||
#if FMT_USE_LOCALE | ||
// DEPRECATED! locale_ref in the detail namespace | ||
template FMT_API locale_ref::locale_ref(const std::locale& loc); | ||
template FMT_API auto locale_ref::get<std::locale>() const -> std::locale; | ||
#endif | ||
|
||
// Explicit instantiations for char. | ||
|
||
template FMT_API auto thousands_sep_impl(locale_ref) | ||
-> thousands_sep_result<char>; | ||
template FMT_API auto decimal_point_impl(locale_ref) -> char; | ||
|
||
// DEPRECATED! | ||
template FMT_API void buffer<char>::append(const char*, const char*); | ||
|
||
// DEPRECATED! | ||
template FMT_API void vformat_to(buffer<char>&, string_view, | ||
typename vformat_args<>::type, locale_ref); | ||
|
||
// Explicit instantiations for wchar_t. | ||
|
||
template FMT_API auto thousands_sep_impl(locale_ref) | ||
-> thousands_sep_result<wchar_t>; | ||
template FMT_API auto decimal_point_impl(locale_ref) -> wchar_t; | ||
|
||
template FMT_API void buffer<wchar_t>::append(const wchar_t*, const wchar_t*); | ||
|
||
} // namespace detail | ||
FMT_END_NAMESPACE |
Oops, something went wrong.