Skip to content

Instantly share code, notes, and snippets.

View iboB's full-sized avatar
:shipit:
shipit

Borislav Stanimirov iboB

:shipit:
shipit
View GitHub Profile
#include <iostream>
#include <locale>
#include <string>
struct cvt32_8 : public std::codecvt<char32_t, char, std::mbstate_t>
{};
int main()
{
cvt32_8 cvt;
// _ .-. .-. _
// ( \ | | | | / )
// \ \| | | |/ /
// This _\ __|_ server _|__ /_ is just a thread in the current process
// ( '-(__ \ / __)-' )
// ('-.)' / \ `(.-')
// '-<_. < > ._>-'
//
// _ _ _ _
// laurel = _Y_et _A_nother i_NI_ file parser
//
// Copyright (c) 2020 Borislav Stanimirov
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
@iboB
iboB / do.rb
Created December 29, 2019 15:44
directory to src_group
groups = {}
Dir['**/*'].each do |f|
s = File.split(f)
dir = s[0]
groups[dir] = [] if !groups[dir]
groups[dir] << s[1]
end
groups.each do |k, v|
namespace my {
template <typename T>
class unique_ptr {
public:
using pointer = T*;
unique_ptr() noexcept = default;
unique_ptr(std::nullptr_t) noexcept {}
explicit unique_ptr(pointer p) noexcept : m_ptr(p) {}

Правила на седмичния конкурс за кодене

  1. В понеделник, който е на ред поства задачка. Такава, която може да се реши за по-малко от половин час.
  2. Който иска да участва, дава решение като отговор на задачата. Един човек може да даде много решения, ако иска. (Принципно може пейст на кода, като коментар, ама по-добре ползвайте ideone или gist или нещо подобно)
  3. Задалият задачката няма право да участва в този кръг.
  4. В неделя, решението с най-много лайкове печели (забележете, че това не е задължително най-бързото, или най-елегантното, или най-краткото решение а най-много провокиралото публиката).
  5. Печелившият от кръга се къпе в гъзария и щастие и за награда измисля и поства задачката за следващата седмица (и си почива).

Мрън-мрън

template <typename T>
struct fast_static
{
// call globally to ensure the constructor is called
static T& slow_get()
{
static T t;
return t;
}
// shared_vector.hpp - v1.0.0 - public domain
// authored in 2016 by Borislav Stanimirov / Chobolabs
//
// This is a simple wrapper of std::vector providing a shared vector interface
// The class is basically the same as shared_ptr<std::vector<T>>. It only provides
// methods and operators with the same signature as std::vector so a transition
// could be seemless.
//
//
// VERSION_HISTORY
# c2md - v1.0 - public domain
# authored in 2016 by Borislav Stanimirov
# Used to generate dox files from cpp files
if ARGV.length == 0 || ARGV[0] == '--help' || ARGV[0] == '-?'
puts 'c2md'
puts 'Generate markdown doc from a C-like language'
puts
puts 'Usage:'
@iboB
iboB / gist:5388658
Created April 15, 2013 14:49
product sum solve
class Timer
def initialize
ObjectSpace.define_finalizer(self,
self.method(:finalize).to_proc)
@start = Time.new
end
def finalize(id)
p "Time: #{Time.now.to_f - @start.to_f} seconds"