Skip to content

Instantly share code, notes, and snippets.

View airglow923's full-sized avatar
🪖
National Service

Hyundeok Park airglow923

🪖
National Service
  • South Korea
  • 13:59 (UTC +09:00)
View GitHub Profile
@airglow923
airglow923 / clang-tidy-readability-identifier-naming-google.yml
Last active March 10, 2024 16:10
clang-tidy readability-identifier-naming for Google's naming convention
CheckOptions:
- key: readability-identifier-naming.ClassCase
value: CamelCase
- key: readability-identifier-naming.ClassMemberCase
value: lower_case
- key: readability-identifier-naming.ConstexprVariableCase
value: CamelCase
- key: readability-identifier-naming.ConstexprVariablePrefix
value: k
- key: readability-identifier-naming.EnumCase
@airglow923
airglow923 / sources.list-focal
Last active February 29, 2024 20:11
Ubuntu Mirrors sources.list for Focal (20.04), Hirsute (21.04), Impish (21.10) and Jammy (22.04)
deb http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu focal-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu focal-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu focal-proposed main restricted universe multiverse
@airglow923
airglow923 / phd_concepts.hpp
Last active May 17, 2023 04:36
User-defined concepts for container and allocator types using C++20 concepts
#include <utility>
#include <memory>
#include <iterator>
#include <type_traits>
#include <concepts>
namespace phd {
template<typename T>
concept copy_assignable = std::is_copy_assignable_v<T>;
@airglow923
airglow923 / configs.md
Last active February 28, 2023 12:26
Steam configs

Team Fortress 2

Launch options

-novid -nojoy -nosteamcontroller -nohltv -particles 1 -precachefontchars -noquicktime

$STEAM_LIBRARY\steamapps\common\Team Fortress 2\tf\custom\module.cfg:

@airglow923
airglow923 / Print.hpp
Created February 13, 2023 10:19
Print with fold expression separated by delimiter
#include <ostream>
#include <string>
#include <type_traits>
#include <utility>
template <typename CharT, typename Arg>
auto
Print(std::ostream &os, [[maybe_unused]] CharT delimiter, const Arg &arg)
-> std::ostream & {
static_assert(
@airglow923
airglow923 / Makefile
Last active December 9, 2021 04:06
Simple Makefile
CC = clang
CFLAGS = -std=c11 -O0 -g3 -Wall -Wextra
ASAN_FLAGS = -fsanitize=address -fsanitize-address-use-after-scope -fsanitize-recover=address
CSRC = $(wildcard *.c)
COBJ = $(patsubst %.c, %.o, $(CSRC))
.PHONY: all
all: main
@airglow923
airglow923 / libcxx.sh
Last active November 28, 2021 08:24
Required packages for LLVM libc++ on Ubuntu
# Debian
sudo apt install clang libc++-dev libc++abi-dev libunwind-dev
# Red Hat
## yum
sudo yum install libcxx-devel libunwind-devel
## dnf
sudo dnf install libcxx-devel libunwind-devel
@airglow923
airglow923 / sfinae-concept.cpp
Last active November 23, 2021 02:34
SFINAE and concept comparison
#include <concepts>
#include <iostream>
#include <type_traits>
struct BothAssignable {
constexpr auto operator=(const BothAssignable&) noexcept -> BothAssignable& = default;
constexpr auto operator=(BothAssignable&&) noexcept -> BothAssignable& = default;
};
struct CopyAssignable {
@airglow923
airglow923 / bubble-sort.cpp
Created November 10, 2021 16:31
Bubble sort
#include <iterator> // bidirectional_iterator, iterator_traits
#include <utility> // move, swap
template <std::bidirectional_iterator BidirectionalIterator, typename Compare,
typename ValueType =
typename std::iterator_traits<BidirectionalIterator>::value_type>
constexpr auto bubble_sort1(BidirectionalIterator begin,
BidirectionalIterator end, Compare compare)
-> void {
if (begin == end) {
@airglow923
airglow923 / floating-point-binary-1.cpp
Last active October 30, 2021 19:23
Floating-point number to binary in C++
#include <concepts> // integral
#include <cstddef> // size_t
#include <iostream> // cout
#include <ranges> // iota, reverse
namespace {
constexpr auto
is_bit_set(long long i, std::size_t n) -> bool {
return (i & (1LL << n)) != 0;