template< typename TValue >
inline void Write( const TValue& value );
template<>
inline void Write( const std::string& value ) {}
template<>
inline void Write( const std::wstring& value ) {}
template<>
inline void Write( const int32_t& value ) {}
N(D) == {|D.Y|, |D.X|}
По этим вопросам нужно техническое обоснование. Наперед скажу что этот код семантически неверен вне зависимости от наличия обоснования и его качества. Но обоснование все равно нужно. Нужно понять требования к коду и определить направление его дизайна.
Список инициализации приведенного конструктора неясен. Какое поведение от него ожидается?
Какое поведение ожидается от std::make_shared(std::move(...)) в приведенном коде? Какая цель у этой конструкции?
Да, я мог бы сразу указать на все ошибки в этом коде, но не в них суть. В коде видно ошибки другого уровня, поэтому задаю вопросы.