Все дело в том, что Вы абсолютно правы) Шаблон именно так и работает. При считывании кастует к Т, а при записи сохраняет в определенном формате. Изначально планировался лишь оператор приведения к типу Т и оператор присваивания из типа Т. Остальные лператоры появились по мере надобности, и даже не все еще есть)
Так шаблон предназначался для работы с данными, которые уже записаны в одном из форматов. Шаблон позволяет работать с данными, указывая в каком формате их хранить.
Эх, хотелось бы как-нибудь без init обходиться. Чтобы достаточно было в h-нике пару строк вписать и setter/getter работал. Подумаю на досуге над возможностью улучшения. Спасибо, интересно — плюсую)
Суть была как раз в том, чтобы данные хранились по-разному. Если операторы будут выглядеть как просто return raw_value;, значит данные лежат как LittleEndian и только.
Тесты сделать… чтобы всё по уму было)) Глядишь и инвесторов найдём!
Разобрался подробней оказалось %~dp0 виноват.
Объект Little-Endian создался из Big-Endain так, чтобы сохранилось значение, а не представление. Так и было задумано.
return raw_value;
, значит данные лежат как LittleEndian и только.