Skip to content

Instantly share code, notes, and snippets.

View ThePhD's full-sized avatar
🐑
Ready to roll!

The Phantom Derpstorm ThePhD

🐑
Ready to roll!
View GitHub Profile
@ThePhD
ThePhD / main.c
Last active November 15, 2023 16:52
Having too much fun imaigning a better future.
///////////////////////
// platform boilerplate
///////////////////////
#define _GNU_SOURCE
#define WIN32_LEAN_AND_MEAN
#if defined(_MSC_VER)
#define MY_FLATTEN __forceinline
#define MY_OUTLINE __declspec(noinline)
@ThePhD
ThePhD / ztd.text.hpp
Last active July 2, 2021 04:22
The single-header include of ztd.text.
This file has been truncated, but you can view the full file.
// =============================================================================
//
// ztd.text
// Copyright © 2021 JeanHeyd "ThePhD" Meneide and Shepherd's Oasis, LLC
// Contact: opensource@soasis.org
//
// Commercial License Usage
// Licensees holding valid commercial ztd.text licenses may use this file in
// accordance with the commercial license agreement provided with the
// Software or, alternatively, in accordance with the terms contained in

Det första förslaget att applicera språkkoder i filnamn används av många (Sphinx: https://www.sphinx-doc.org/en/master/usage/advanced/intl.html). Statiska sidgeneratorer använder också ofta denna metod (Hugo: https://gohugo.io/content-management/multilingual/ || Jekyll: https://github.com/kurtsson/jekyll-multiple-languages-plugin).

Gettext/Sphinx är ett mycket invecklat system och är kanske inte det bästa att börja med, men stöd för flerspråkiga README filer skulle hjälpa.

För [URSPRUNGLIGT FILNAMN] så delas det upp i två bitar, [FILNAMN] + [FILÄNDELSE]. [FILÄNDELSE] är bara texten efter den sista . i filnamnet för att kunna hantera flera . i filnamnet. [SPRÅKKOD] är en av de vanliga språkkoderna (en, fr, ar, jp, etc.).

  • Börja med att leta efter [FILNAMN] . [SPRÅKKOD] . [FILÄNDELSE]. Hittad? Använd filen.
  • Om inte, använd [URSPRUNGLIGT FILNAMN].

För README.md är standardinställningen att leta efter README.[SPRÅKKOD].md. Användare kan lägga till README.fr.md för att stö

La première suggestion, où l’on applique des codes aux noms de fichiers, est utilisée dans plusieurs endroits (Sphinx: https://sphinx-doc.org/en/master/usage/advanced/intl.html). Les générateurs de sites statiques utilisent beaucoup cette approche (Hugo: https://gohugo.io/content-management/multilingual/ || Jekyll: https://github.com/kurtsson/jekyll-multiple-languages-plugin).

Gettext/Sphinx est un système complexe, et n’est probablement pas pour les débutants. Par contre, des fichiers README multilingues seraient utiles.

Pour [FICHIER ORIGINAL] on brise l’entrée en deux parties, [FILENAME] + [EXTENSION]. [EXTENSION] contient uniquement le texte après le dernier ., pour gérer les fichiers avec plusieurs . Dans leur nom. [LANGUAGE CODE] est un des codes languages typiques de ISO 639-1 (en, fr, ar, jp, etc.).

  • On cherche en premier pour [NOM DE FICHIER] . [CODE DE LANGUAGE] . [EXTENSION]. Si c’est trouvé, on utilise ce fichier.
  • Sinon, on utilise [FICHIER ORIGINAL].

Pour README.md, the nom p

La suggestion d'origine d'appliquer un code de langues est déjà utilisée à de nombreux endroits (Sphinx: https://www.sphinx-doc.org/en/master/usage/advanced/intl.html). Les générateurs de sites statiques s'en servent énormément (Hugo: https://gohugo.io/content-management/multilingual/ || Jekyll: https://github.com/kurtsson/jekyll-multiple-languages-plugin).

Gettext/Sphinx est un outil très complexe, et probablement pas un bon point de départ. Un support du README dans de différentes langues serait cependant utile.

Pour [FICHIER D'ORIGINE], découper en deux parties, [NOM DE FICHIER] + [EXTENSION]. [EXTENSION] correspond au texte après le dernier ., afin de supporter les noms de fichier contenant plusieurs.. [CODE DE LANGUE] est l'un des codes de langue classiques (en, fr, ar, jp, etc.).

فيما يخص الاقتراح الأول، إضافة رموز اللغات إلى أسماء الملفات، فلقد تم العمل به في كثير من المواقع (سفنكس [Sphinx]). منتِجوا المواقع الثابتة يستعملونه في مختلف الحالات. (هوڭو [Hugo] ||جيكل [Jekyll]). ڭت تيكست و سفنكس يشكلان نظاما معقدا و يتطلب مجهودا لفهمه. إضافة مزيد من اللغات إلى الملف للقراءة (README) قد تسهل هذه العملية.

إذا أخذنا [الملف الأصلي]، فلنقسمه إلى نصفين، [إسم الملف] + [الملحق] ([FILENAME + EXTENSION]). نضيف الملحق بعد النقطة (.) الأخيرة، لنتولى بأسماء تحتوي على عدة نقط. ينتمي [رمز اللغة] إلى واحد من الرموز الاعتيادية (en, fr, ar, jp ،إلخ).

نبدأ بالبحث عن [إسم الملف] . [رمز اللغة] . [الملحق] ([EXTENSION] + [LANGUAGE CODE] + [FILENAME]). و يُستعمل إذا وُجد. إذا لم يوجد، فنستعمل [الاسم الأصلي]

Het eerste voorstel om taalcodes toe te passen in bestandsnamen wordt op veel plaatsen al zodanig gebruikt (Sphinx: https://www.sphinx-doc.org/en/master/usage/advanced/intl.html). Statische website generatoren gebruiken dit ook alom. (Hugo: https://gohugo.io/content-management/multilingual/ || Jekyll: https://github.com/kurtsson/jekyll-multiple-languages-plugin).

Gettext/Sphinx is een erg gecompliceerd systeem en waarschijnlijk een van de lastigste om mee te starten. Het ondersteunen van meertalige READMEs zou echter behulpzaam zijn.

Breek [ORIGINELE BESTANDSNAAM] in twee delen, [BESTANDSNAAM] + [EXTENSIE]. [EXTENSIE] is alleen de tekst die na de laatste punt komt, om met bestandsnamen met meerdere punten overweg te kunnen. [TAALCODE] is een van de typische taalcodes (en, nl, ar, jp, enz.).

  • Begin door te zoeken naar [BESTANDSNAAM] . [TAALCODE] . [EXTENSIE]. Gevonden? Zoja, gebruik deze.
  • Als dat niet lukt, gebruik dan [BESTANDSNAAM].

Voor README.md zoekt de standaard naar `README.[TAALCODE]

#include <memory>
#include <limits>
#include <exception>
#include <optional>
#include <cstddef>
namespace std0 {
namespace detail {
@ThePhD
ThePhD / tracking_allocator.hpp
Last active February 21, 2022 17:45
A tracking allocator for mostly testing purposes.
#include <memory>
#include <cstddef>
#include <type_traits>
template<typename Allocator>
class tracking_allocator
{
private:
template <typename>
friend class tracking_allocator;