Ilya Pikulin

Read this first

Private members extraction

Having found Access to private members. That’s easy! , I was very impressed. But the code provided there was quite hard to read and understand, so I clarify it and make some additional explanations.

Abstract

This method allows us to retrieve pointers to private member data and functions, with one restriction: private types cannot feature in the data type / function signature.

Key idea

We employ [temp.explicit]/12 of the Working Draft from 2017-03-21 which states the following:

The usual access checking rules do not apply to names used to specify explicit instantiations. [Note: In particular, the template arguments and names used in the function declarator (including parameter types, return types and exception specifications) may be private types or objects which would normally not be accessible and the template may be a member template or member function which would not normally be...

Continue reading →


Objectives for 2018

You can’t state you’ve learned something until you have applied it in practice.

A note on 2017

2017 brought me a lot of wonderful experience, but on the whole, it was a year full of hopes & failures. It made me rethink my world views significantly. In particular, now I see clearly that literally all the strategic failures in my life were induced by my inflated ego.

Here is what I aim to work on in 2018 taking the said into account.


Get into one of the top colleges. Study there conscientiously. Prepare and get the highest grades at the Unified State Exam & Additional Admission Tests. Avoid getting into the army / imprisoning. Complete all the homework, in time.

Get familiar with Haskell, type theory, and category theory. Work through Real World Haskell, Types and Programming Languages, Category Theory for Programmers. Play through proofsweeper.

Improve my C++-fu. Get familiar...

Continue reading →