xaizek / tos (License: GPLv3 only) (since 2018-12-07)
This is an alternative version of sources presented as part of Write Your Own OS video tutorial by Viktor Engelmann.
<root> / src / print.hpp (62d3762a56bc6f006f4b96000296c987dc328894) (541B) (mode 100644) [raw]
#ifndef TOS__PRINT_HPP__
#define TOS__PRINT_HPP__

#include <cstdint>

namespace hwcomm {
    class Screen;
}

namespace detail {

void kprint(const char str[]);
void kprint(std::uint8_t byte);
void kprint(std::uint16_t word);
void kprint(std::uint32_t dword);
void kprint(std::uint64_t dword);
void kprint(void *ptr);

}

hwcomm::Screen & getScreen();

template <typename ...Args>
void
kprint(Args ...args)
{
    const bool ignored[] = { (detail::kprint({ args }), false)... };
    static_cast<void>(ignored);
}

#endif // TOS__PRINT_HPP__
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/tos

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/tos

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master