Простите мне предвзятость рассуждений, но я предполагаю, что понимание отсутствует как класс. Человек, который имеет навык достаточный для чтения исходников тора, такие вопросы задавать не может. Это как специалист по ракетному топливу задает вопрос "Не могу определить, какие компоненты необходимы для окисления топлива в условиях земной атмосферы для запуска ракеты"
Возможно, стоит начинать с малого... K&R C
Кликая по нему, http:// приклеивает браузер. В старых браузерах эта ссылка может и не открываться. А не URL потому что не удовлетворяет регулярке из RFC.
@ser-mk идея в том, что вместо cppBasedStruct.getN можно на базе BitSet сделать wrapper реализующий customBitSet.get(N) и инициализировать его простым массивом, в котором хранится инфа о размере N-го поля в битах, и массивом byte[] с вычитанными данными. А если надо в ну вот именно такие структуры как в C++, но в Java, то это вопрос к прагматичности или зависимости от языка (тут только JNI в помощь, хотя я не в теме с андроидом, возможно это тот же NDK). Судя по комментариям, тут вообще не понятно о чем речь идет – вам про возможность битового доступа к участку памяти или же про возможность работы с потоком входящих данных в Java-манере. Если первое, то мой подход при подключении легкого трика на базе enum позволит обращаться к данным по синтаксису вида Structs foo Strucs.STRUC_TYPE.init(byte[] data); boolean/byte[] byte/bytes = foo.get(N); Куда уж проще и нативнее... И джава позволяет работать с выделенной памятью на уровне битов, но не позволяет интерпретировать произвольный объект как набор байтов. Вообщем сложность кажется мне надуманной.
Go часто сравнивают с C, но в Go стандартная библиотека куда более богатая и позволяет делать то, что в других языках реализуемо только на уровне библиотек. Писать многопоточный HTTP с базой данный и мем-кэшем там можно и, что главное, удобно без каких либо библиотек вообще.