Пакеты | |
---|---|
Вспомогательные классы, используемые для ввода-вывода. | |
Полезные классы. | |
Реализация компилятора протокольного буфера. |
гугл:: протобуф
Файлы | |
---|---|
Этот файл определяет распределитель Arena для повышения производительности распределения. | |
Этот файл содержит классы, которые описывают тип сообщения протокола. | |
Буферные представления дескрипторов протокола. | |
Интерфейс для работы с базами данных дескрипторов. | |
Определяет реализацию Message , которая может эмулировать типы, неизвестные во время компиляции. | |
Этот файл определяет контейнер карты и его помощники для поддержки карт protobuf. | |
Определяет Message , абстрактный интерфейс, реализуемый объектами сообщений необлегченного протокола. | |
Определяет MessageLite , абстрактный интерфейс, реализованный всеми (упрощенными и неупрощенными) объектами сообщений протокола. | |
RepeatedField и RepeatedPtrField используются сгенерированными классами протокольных сообщений для управления повторяющимися полями. | |
УСТАРЕЛО: этот модуль объявляет абстрактные интерфейсы, лежащие в основе сервисов proto2 RPC. | |
Утилиты для печати и разбора протокольных сообщений в удобочитаемом текстовом формате. | |
Содержит классы, используемые для отслеживания нераспознанных полей, видимых при анализе сообщения протокола. |
гугл::протобуф::ио
Вспомогательные классы, используемые для ввода-вывода.
Библиотека Protocol Buffer использует классы из этого пакета для работы с вводом-выводом и кодированием/декодированием необработанных байтов. Большинству пользователей не нужно иметь дело с этим пакетом. Тем не менее, пользователям, которые хотят адаптировать систему для работы со своими собственными абстракциями ввода-вывода, например, разрешить считывание протокольных буферов из другого типа входного потока без необходимости во временном буфере, следует присмотреться повнимательнее.
Файлы | |
---|---|
Этот файл содержит классы CodedInputStream и CodedOutputStream , которые оборачивают ZeroCopyInputStream или ZeroCopyOutputStream соответственно и позволяют читать или записывать отдельные фрагменты данных в различных форматах. | |
Служебный класс для записи текста в ZeroCopyOutputStream . | |
Класс для разбора токенизированного текста из ZeroCopyInputStream . | |
Этот файл содержит интерфейсы ZeroCopyInputStream и ZeroCopyOutputStream , которые представляют собой абстрактные потоки ввода-вывода, в которые и из которых можно считывать и записывать буферы протокола. | |
Этот файл содержит общие реализации интерфейсов, определенных в zero_copy_stream.h , которые включены только в полную (не облегченную) библиотеку protobuf. | |
Этот файл содержит общие реализации интерфейсов, определенных в zero_copy_stream.h , которые включены в "облегченную" библиотеку protobuf. |
гугл:: протобуф:: утилита
Полезные классы.
Этот пакет содержит различные утилиты для сравнения сообщений, преобразования JSON, общеизвестных типов и т. д.
Файлы | |
---|---|
Определяет классы для сравнения полей. | |
Определяет утилиты для общеизвестного типа FieldMask. | |
Служебные функции для преобразования между двоичным форматом protobuf и форматом proto3 JSON. | |
Этот файл определяет статические методы и классы для сравнения сообщений протокола. | |
Определяет утилиты для хорошо известных типов Timestamp и Duration. | |
Определяет TypeResolver для любого сообщения. | |
Определяет утилиты для TypeResolver. |
гугл::протобуф::компилятор
Реализация компилятора протокольного буфера.
Этот пакет содержит код для разбора файлов .proto и генерации кода на их основе. Есть две причины, по которым вас может заинтересовать этот пакет:
- Вы хотите анализировать файлы .proto во время выполнения. В этом случае вы должны посмотреть importer.h . Поскольку эта функциональность широко используется, она включена в базовую библиотеку libprotobuf; вам не нужно связываться с libprotoc.
- Вы хотите написать собственный компилятор протокола, который генерирует различные виды кода, например, код на другом языке, который не поддерживается официальным компилятором. Для этой цели command_line_interface.h предоставляет вам полный внешний интерфейс компилятора, поэтому все, что вам нужно сделать, это написать собственную реализацию CodeGenerator и тривиальную функцию main(). Вы даже можете заставить свой компилятор поддерживать официальные языки в дополнение к вашему собственному. Поскольку эта функциональность полезна только для тех, кто пишет собственные компиляторы, она находится в отдельной библиотеке под названием «libprotoc», с которой вам придется связываться.
Файлы | |
---|---|
Определяет абстрактный интерфейс, реализованный каждым из генераторов кода для конкретного языка. | |
Реализует внешний интерфейс компилятора протоколов, чтобы его можно было повторно использовать в пользовательских компиляторах, написанных для поддержки других языков. | |
Этот файл является общедоступным интерфейсом для парсера файлов .proto. | |
Реализует синтаксический анализ файлов .proto в FileDescriptorProtos. | |
Внешний интерфейс для плагинов генератора кода протокола, написанных на C++. | |
API для плагинов protoc. | |
Генерирует код C++ для заданного файла .proto. | |
Создает код C# для заданного файла .proto. | |
Предоставляет механизм сопоставления дескриптора с полным именем соответствующего класса C#. | |
Генерирует код Java для заданного файла .proto. | |
Предоставляет механизм сопоставления дескриптора с полным именем соответствующего класса Java. | |
Генерирует код JavaScript для заданного файла .proto. | |
Генерирует код ObjectiveC для заданного файла .proto. | |
Вспомогательные функции для генерации кода ObjectiveC. | |
Генерирует код Python для заданного файла .proto. | |
Генерирует код Ruby для заданного файла .proto. |