Skip to content

Instantly share code, notes, and snippets.

#include <type_traits>
#include <memory>
#include <vector>
#include <iostream>
namespace buffer
{
template <class Type>
#include <type_traits>
#include <memory>
#include <iostream>
namespace buffer
{
template <class Type>
struct TView
#include <type_traits>
#include <memory>
#include <vector>
#include <iostream>
namespace buffer
{
template <class Type>
// https://coliru.stacked-crooked.com/a/0ba6c5762255a8e3
#include <iostream>
#include <utility>
#include <cstdint>
class XorShifter
{
public:
// http://coliru.stacked-crooked.com/a/f567a9698865eb15
#include <type_traits>
#include <utility>
#include <cstdint>
#include <memory>
#include <iostream>
/********************************
#include <functional>
#include <iostream>
#include <limits>
#include <vector>
#include <stack>
enum Token
{
NUM,
ADD, // from there the token are stripped from the tree
// http://coliru.stacked-crooked.com/a/5f6f08cff6f9a5b7
#include <iostream>
auto lit(const int value)
{
return [value](auto visitor) { return visitor.lit(value); };
}
template <class LHS,
class RHS>
// https://coliru.stacked-crooked.com/a/a138703355819566
#include <string_view>
#include <iostream>
#include <cstdint>
template <uint8_t low,
uint8_t high>
struct TIsBetween
{
// http://coliru.stacked-crooked.com/a/f49adfd932697df3
#include <iostream>
#include <cstdint>
static const uint8_t BYTE_UNDERSCORE = static_cast<uint8_t>('_');
static const uint8_t BYTE_ZERO = static_cast<uint8_t>('0');
static const uint8_t BYTE_NINE = static_cast<uint8_t>('9');
static const uint8_t BYTE_A_MIN = static_cast<uint8_t>('a');
static const uint8_t BYTE_Z_MIN = static_cast<uint8_t>('z');