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
#include <iostream> | |
#include <string_view> | |
#include <algorithm> | |
#include <compare> | |
template <std::size_t ArraySize> | |
struct CompileTimeString | |
{ |
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
#include <vector> | |
#include <string> | |
#include <string_view> | |
#include <algorithm> | |
#include <optional> | |
#include <initializer_list> | |
struct Token | |
{ | |
enum class Type |
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
#include <iterator> | |
/* | |
** Warning: | |
** - no first, last and subspan method | |
** - no static extend | |
** - it does not have constexpr support (beacause no static_extent) | |
*/ | |
template <typename T> |
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
#include <iostream> | |
#include <functional> | |
#define SCOPE_GUARD(CbBeginScope, CbEndScope) scope_guard __guard__([&]{CbBeginScope}, [&]{CbEndScope}); | |
#define SCOPE_GUARD_END(CbEndScope) scope_guard __guard_end__([&]{CbEndScope}); | |
#define SCOPE_GUARD_NAMED(name, CbBeginScope, CbEndScope) scope_guard name([&]{CbBeginScope}, [&]{CbEndScope}); | |
#define SCOPE_GUARD_END_NAMED(name, CbEndScope) scope_guard name([&]{CbEndScope}); | |
class scope_guard |
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
#pragma once | |
#include <memory> | |
#include <vector> | |
#include <iostream> | |
#define EXPR_TO_STR(x) #x | |
#define TEST_BEGIN Test::TestSuiteResult __result__; | |
#define TEST_END return __result__; |